Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions docs/CI.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,28 @@ Individual commands are available when iterating:
| `make fuzz-smoke` | Run each discovered fuzz target for a fixed one-second smoke window, or print an explicit `SKIPPED` result when no target exists. |
| `make deps` | Require a clean `go mod tidy -diff`, verified module sums and a read-only dependency load. |
| `make licenses` | Compare the exact runtime module/version/replacement graph with its inventory and require a top-level license file. |
| `make experiments` | Require both established G01/G02 modules, run their default race/vet suites, then exercise the two explicitly reviewed G01 CLI packages with `g01_live,g01_worker` tags and the reviewed `g01_pair_fixture` livecanary collection/terminal partitions with tagged vet. |
| `make experiments` | Require both established G01/G02 modules, run their default race/vet suites, then exercise the two explicitly reviewed G01 CLI packages with `g01_live,g01_worker` tags and the reviewed `g01_pair_fixture` livecanary collection/listener and terminal partitions with tagged vet. |
| `make vuln` | Run the exact `golang.org/x/vuln/cmd/govulncheck@v1.7.0` tool. |

No hardware, live GitHub, Docker or daemon suite is part of this public check. Those profiles remain explicit future or maintainer-controlled runs; they are not silently converted into passing tests here. G04 introduces the first application behavior contracts and should add meaningful unit and fuzz targets before claiming those forms of coverage.

The tagged CLI tests use synthetic input/subprocess fixtures and static plan or
refusal paths. The `g01_pair_fixture` livecanary checks use private synthetic
fixtures: one collection run excludes `^TestPairedTerminal`, one terminal run
selects that prefix while skipping the reviewed persistence set, and a third run
selects the exact persistence set
fixtures: one paired-collection run selects `^TestPaired` while excluding
`^TestPairedTerminal`, one remaining collection/listener run has no `-run`
filter while excluding `^TestPaired`, one terminal run selects that prefix while
skipping the reviewed persistence set, and a fourth run selects the exact
persistence set
`^TestPairedTerminal(Actual(Controller|Worker)SyncFailures|PostIntent(JournalIdentity|AuthorityBoundaries)|ClosedReplayActualFile|WorkerReceiptSurvivesControllerWriteFailure|FixtureStorageFailure)$`.
`FixtureStorageFailure` is the unique generated sentinel from
`scripts/tooling_test.go`; it is intentionally distinct from the real
`TestPairedTerminalClosedReplayActualFile` test. This exact expression is the
script's `storage_regex` value and is also the `STORAGE` alias in issue #54.
One tagged vet follows those three race-tested runs. None of these tagged checks
The two collection/listener partitions are explicit and disjoint: every
non-terminal `TestPaired*` test is in the first, and every other test, example or
fuzz seed is in the second. The unfiltered second command preserves Go's normal
execution of tagged examples and fuzz seeds. One tagged vet follows those four
race-tested runs. None of these tagged checks
executes approved live controller/worker operations or exposes a public terminal
phase/API. The implementation and evidence boundaries are recorded in the
[G01 paired terminal guide](evidence/g01-paired-terminal.md). The script permits
Expand Down
17 changes: 11 additions & 6 deletions docs/evidence/g01-paired-baseline.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,15 +151,20 @@ Root independently reproduced that tooling red and green.
From `experiments/g01-scaleset`, required fixture checks are:

```text
GOTOOLCHAIN=go1.26.8 go test -race -count=1 -timeout=120s -tags=g01_pair_fixture -skip '^TestPairedTerminal' ./livecanary
GOTOOLCHAIN=go1.26.8 go test -race -count=1 -timeout=120s -tags=g01_pair_fixture -run '^TestPaired' -skip '^TestPairedTerminal' ./livecanary
GOTOOLCHAIN=go1.26.8 go test -race -count=1 -timeout=120s -tags=g01_pair_fixture -skip '^TestPaired' ./livecanary
```

The terminal behavior and terminal persistence/identity partitions, including
their exact storage expression, are maintained in the canonical
The first command selects the non-terminal paired collection tests; the second
leaves `-run` unrestricted so tagged tests, examples and fuzz seeds remain
eligible while excluding the paired prefix. The commands are exhaustive and
disjoint for the collection/listener work. The terminal behavior and terminal
persistence/identity partitions, including their exact storage expression, are
maintained in the canonical
[terminal evidence guide](g01-paired-terminal.md). Use the repository's
`scripts/check-offline-experiments.sh` for the complete three-way invocation;
the collection/listener command above is shown here only to identify this
collection entry's partition.
`scripts/check-offline-experiments.sh` for the complete four-way invocation;
the collection/listener commands above are shown here only to identify the
collection entry's partitions.

### Current correction checkpoint

Expand Down
23 changes: 15 additions & 8 deletions docs/evidence/g01-paired-terminal.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,14 +194,16 @@ Sync-error fixtures inject failures at actual file-write/sync boundaries and do
not claim physical power-loss durability. The trust model remains reviewed Go
code and private local files, not hostile same-UID code or copying a used mutex.

The independently reviewed Luna tooling fragment runs three complementary tagged
partitions: collection, terminal excluding the explicitly named persistence
tests, and those persistence tests. Each retains the exact toolchain, race
detector, count one and a 120-second timeout, plus one tagged vet pass:
The independently reviewed Luna tooling fragment runs four complementary tagged
partitions: paired collection, remaining collection/listener work, terminal
excluding the explicitly named persistence tests, and those persistence tests.
Each retains the exact toolchain, race detector, count one and a 120-second
timeout, plus one tagged vet pass:

```sh
terminal_storage_tests='^TestPairedTerminal(Actual(Controller|Worker)SyncFailures|PostIntent(JournalIdentity|AuthorityBoundaries)|ClosedReplayActualFile|WorkerReceiptSurvivesControllerWriteFailure|FixtureStorageFailure)$'
GOTOOLCHAIN=go1.26.8 go test -C experiments/g01-scaleset -tags=g01_pair_fixture -race -count=1 -timeout=120s ./livecanary -skip '^TestPairedTerminal'
GOTOOLCHAIN=go1.26.8 go test -C experiments/g01-scaleset -tags=g01_pair_fixture -race -count=1 -timeout=120s ./livecanary -run '^TestPaired' -skip '^TestPairedTerminal'
GOTOOLCHAIN=go1.26.8 go test -C experiments/g01-scaleset -tags=g01_pair_fixture -race -count=1 -timeout=120s ./livecanary -skip '^TestPaired'
GOTOOLCHAIN=go1.26.8 go test -C experiments/g01-scaleset -tags=g01_pair_fixture -race -count=1 -timeout=120s ./livecanary -run '^TestPairedTerminal' -skip "$terminal_storage_tests"
GOTOOLCHAIN=go1.26.8 go test -C experiments/g01-scaleset -tags=g01_pair_fixture -race -count=1 -timeout=120s ./livecanary -run "$terminal_storage_tests"
GOTOOLCHAIN=go1.26.8 go vet -C experiments/g01-scaleset -tags=g01_pair_fixture ./livecanary
Expand All @@ -211,9 +213,14 @@ GOTOOLCHAIN=go1.26.8 go vet -C experiments/g01-scaleset -tags=g01_pair_fixture .
`scripts/check-offline-experiments.sh` and is the `STORAGE` alias in issue #54.
The generated tooling sentinel is named `TestPairedTerminalFixtureStorageFailure`,
so its top-level regex term is `FixtureStorageFailure`; it must remain in the
storage-only group. The three groups are exhaustive and disjoint: every other
top-level `TestPairedTerminal` test stays in terminal behavior, while tests
outside that prefix stay in collection/listener.
storage-only group. The two terminal groups remain exhaustive and disjoint:
every other top-level `TestPairedTerminal` test stays in terminal behavior,
while only the named persistence tests stay in storage. The two
collection/listener groups are likewise exhaustive and disjoint: non-terminal
`TestPaired*` tests stay in paired collection, and every other test, example or
fuzz seed stays in remaining collection/listener. The unrestricted remaining
command is intentional because Go's `-run` filter also selects examples and
fuzz tests; `-skip '^TestPaired'` excludes only the paired test prefix.

The fixture tag remains excluded with either live command tag. The earlier
two-part tooling red
Expand Down
7 changes: 6 additions & 1 deletion scripts/check-offline-experiments.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ set -euo pipefail

go_cmd="${GO:-go}"
exact_toolchain="go1.26.8"
paired_collection_regex='^TestPaired'
storage_regex='^TestPairedTerminal(Actual(Controller|Worker)SyncFailures|PostIntent(JournalIdentity|AuthorityBoundaries)|ClosedReplayActualFile|WorkerReceiptSurvivesControllerWriteFailure|FixtureStorageFailure)$'

# These are the two established offline gate modules. Keep this list explicit so
Expand Down Expand Up @@ -35,7 +36,11 @@ for module_dir in "${offline_modules[@]}"; do
# paths only. Do not discover arbitrary opt-in tags or platform probes.
GOTOOLCHAIN="${exact_toolchain}" "${go_cmd}" test -race -count=1 -timeout=45s -tags=g01_live,g01_worker ./cmd/g01-live ./cmd/g01-worker
GOTOOLCHAIN="${exact_toolchain}" "${go_cmd}" vet -tags=g01_live,g01_worker ./cmd/g01-live ./cmd/g01-worker
GOTOOLCHAIN="${exact_toolchain}" "${go_cmd}" test -race -count=1 -timeout=120s -tags=g01_pair_fixture -skip '^TestPairedTerminal' ./livecanary
# Keep the non-terminal collection/listener tests exhaustive and disjoint:
# paired collection first, then every non-paired test. The terminal
# partitions below remain the only consumers of TestPairedTerminal.
GOTOOLCHAIN="${exact_toolchain}" "${go_cmd}" test -race -count=1 -timeout=120s -tags=g01_pair_fixture -run "${paired_collection_regex}" -skip '^TestPairedTerminal' ./livecanary
GOTOOLCHAIN="${exact_toolchain}" "${go_cmd}" test -race -count=1 -timeout=120s -tags=g01_pair_fixture -skip "${paired_collection_regex}" ./livecanary
GOTOOLCHAIN="${exact_toolchain}" "${go_cmd}" test -race -count=1 -timeout=120s -tags=g01_pair_fixture -run '^TestPairedTerminal' -skip "${storage_regex}" ./livecanary
GOTOOLCHAIN="${exact_toolchain}" "${go_cmd}" test -race -count=1 -timeout=120s -tags=g01_pair_fixture -run "${storage_regex}" ./livecanary
GOTOOLCHAIN="${exact_toolchain}" "${go_cmd}" vet -tags=g01_pair_fixture ./livecanary
Expand Down
Loading
Loading