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
13 changes: 11 additions & 2 deletions adoption/platforms/macos-arm64.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,9 @@ plans for is the labelled projection `macos-arm64-64gb-projected` in
unified memory as the generation budget, `full` semantic-RAG tier, both drawn
from one shared pool); for this page's embedding choice it follows the 48 GB
rules. None of these sizes has a real qualification run yet.
Corrected 2026-10-03 (port of #410): `mac-coordinator-64gb-20260925` ran a descriptive
co-residency probe on 2026-09-27 that was not accepted as a qualification
([port record](../../evidence/artifacts/mac-model-hosting-20260927/port-record-20261003.md)).

## Prerequisites

Expand Down Expand Up @@ -749,8 +752,14 @@ currently loaded from that same destination path, rename into place,
confirmed loaded from its own destination path, or not loaded at all with a
file present to clean up). On the hosted runner (run `35875188590`, "What a
hosted run proves" above) `launchd-agents.sh` bootstrapped and booted out the
`qdrant` and `llama-embed` agents; `ai-memory` has not run, and none of the
three has run on a Mac workstation.
`qdrant` and `llama-embed` agents.
Corrected 2026-10-03 (port of #410): as of 2026-09-27 the `ai-memory` template
had not run on that hosted runner. On 2026-09-27 `llama-embed` ran on the
coordinator Mac and `embed_acceptance.py` returned pass without a discriminating
control, so this is an observation. As of that date, the `qdrant` and `ai-memory`
templates had not run on a Mac workstation; the pre-existing `local.agent-ecosystem.*`
agents served those roles
([port record](../../evidence/artifacts/mac-model-hosting-20260927/port-record-20261003.md)).

**Credential boot receipt (added after `v2026.09.26.2`; documented, not
run).** On Linux/WSL2 the `credential-boot-receipt.service` oneshot runs
Expand Down
2 changes: 1 addition & 1 deletion docs/harness-defaults.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ When a claim or action proves wrong, correct it where it was relayed and record
| 2026-09-25 | Reading a filtered command's output as the raw output | Through rtk 0.50.0's Claude hook, a large `git show <rev>:<path>` blob is windowed to about 8 KiB, so a following `tail` reads the window rather than the file end, and `diff` on a missing file exits 1 instead of 2 | Exclude those forms with rtk's four-entry `[hooks] exclude_commands` value and confirm with `rtk hook check`; read an exact blob with native `git show` or `rtk proxy git show` | [Claude hook exclusions at 0.50.0](../recipes/README.md#native-context-mode-and-hooks); the `adoption/bootstrap-linux.sh` reminder; `evidence/receipts/rtk-050-qualification-20260925.json` |
| 2026-09-25 | Letting a harness feature rewrite shared repository configuration | Launching an agent with `isolation: "worktree"`, or an agent type that declares it such as the shipped `isolated-builder`, rewrote the shared `core.hooksPath` from the relative `scripts/git-hooks` to the main checkout's absolute path; whenever the main checkout's branch lacked `scripts/git-hooks`, every worktree committed without the gitleaks pre-commit scan | Create the worktree yourself (`git worktree add --no-track <path> -b <branch> origin/main`) and pass its path; run `git config --show-origin --get core.hooksPath` before relying on hooks | Coordinator briefs; the `secret-scan` job in `.github/workflows/validate.yml` scans every pull request. Appended 2026-09-27: no shipped agent declares `isolation` any more, and `examples/claude-native/workflows/test-envelope.mjs` fails one that does ([record](decisions/2026-09-27-claude-harness-settings.md)) |
| 2026-09-25 | A wait loop whose pattern matches itself | `until ! pgrep -f "unittest discover"; do sleep 3; done` never ended: pgrep never reports its own process (procps-ng `pgrep(1)`), but the waiting shell's command line contains the pattern; one waiter ran for almost ten hours | Bracket one character (`"[u]nittest discover"`), anchor the pattern to the command name, or wait on a PID or exit-marker file, with a timeout | This log; an anchored pattern in `blueprints/gap-wave2-20260923/foundation__quality-evaluation/run_codex_author.sh` |
| 2026-09-25 | Recording evidence against an unpublished commit | Host receipts recorded in a worktree on a local-only commit named it as `catalog_revision`; validation passed locally because worktrees share one object store, while a clone of the branch alone fails | Record receipts only at a commit on GitHub (`git merge-base --is-ancestor <rev> origin/main`) and validate in `git clone --no-local --single-branch --branch <branch>` | Partly, in CI: `.github/workflows/validate.yml` runs `scripts/host_receipts.py validate` on a full-history checkout from GitHub, so a never-pushed commit fails there ("is not a commit present in this checkout"). A local worktree accepts a local-only commit, because `git cat-file -e` finds it in the shared object store, and whether the commit is on `main` stays a manual check |
| 2026-09-25 | Recording evidence against an unpublished commit | Host receipts recorded in a worktree on a local-only commit named it as `catalog_revision`; validation passed locally because worktrees share one object store, while a clone of the branch alone fails | Record receipts only at a commit on GitHub (`git merge-base --is-ancestor <rev> origin/main`) and validate in `git clone --no-local --single-branch --branch <branch>` | Partly, in CI: `.github/workflows/validate.yml` runs `scripts/host_receipts.py validate` on a full-history checkout from GitHub, so a never-pushed commit fails there ("is not a commit present in this checkout"). A local worktree accepts a local-only commit, because `git cat-file -e` finds it in the shared object store, and whether the commit is on `main` stays a manual check. Appended 2026-09-27 (ported from #410; re-verified 2026-10-03): a receipt revision published only on a PR branch can become unavailable to a fresh CI checkout after squash merge and branch deletion. The repository currently reports `delete_branch_on_merge: true` (`gh api repos/seathatflowsinourveins/native-agent-stack --jq .delete_branch_on_merge`), as [GitHub automation](github-automation.md#agent-branch-ruleset-2026-09-28) documents; [GitHub describes automatic head-branch deletion](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches). The four full-history checkouts in `validate.yml` use `fetch-depth: 0` (lines 46, 247, 349 and 429 at `cac8700ba`); the pinned [actions/checkout README at `3d3c42e5`](https://github.com/actions/checkout/blob/3d3c42e5aac5ba805825da76410c181273ba90b1/README.md#fetch-all-history-for-all-tags-and-branches) documents fetching all branch and tag history, and its [refspec source](https://github.com/actions/checkout/blob/3d3c42e5aac5ba805825da76410c181273ba90b1/src/ref-helper.ts#L69) fetches heads and tags (plus the requested PR ref on PR events). #391's first main run [36329128908, validate job 108647562985](https://github.com/seathatflowsinourveins/native-agent-stack/actions/runs/36329128908/job/108647562985) failed host-receipt validation: four receipts named `catalog_revision` commits absent from that checkout; attempt 2 later passed. Before merging receipts tied to branch-only revisions, preserve each with an annotated `receipt-revision/<sha8>` tag and verify a fresh full clone with tags. `git ls-remote --tags origin 'receipt-revision/*'` currently includes `receipt-revision/b16b84b8`, peeled to `b16b84b821f75a8c900557b763a2cdbef62e8f4e` |
| 2026-09-25 | Inline code inside a guarded shell command | The PreToolUse secret guard tokenizes inline Python and heredocs, and a segment starting with `set(` after a pipe was blocked as `environment_dump` | Put non-trivial Python in a script file and run that file; never bypass or edit the guard | `scripts/hooks/secret_path_guard.py` (`is_environment_dump`); `evidence/artifacts/token-e2e-ultracode-20260925/README.md` |
| 2026-09-25 | Taking a pipeline's exit code as the command's result | A unittest run piped into `tail` returned tail's exit 0 and dropped the summary printed on stderr, so a "suite passed" log rested on tail; a `git push` piped into `tail` hid a refused push | Write stdout and stderr to files and read the command's own exit code and summary; read a push back with `git ls-remote origin refs/heads/<branch>` | This log |
| 2026-09-26 | Trusting a flag's name instead of the request it sends | Against a local stand-in provider (cases W1 to W3 on Codex 0.155.1 and 0.157.1, local integration evidence), `codex --search exec` sent `external_web_access: false` (Codex's cached web index), the same as no flag, and only `-c web_search="live"` sent `true`; OpenAI parity rests on source reading, and a live `-c web_search="live"` search seen on OpenAI was not retained. That the landscape sweep's GPT-6 lanes, started with `codex --search exec`, searched a cached index is therefore an inference | Pass `-c web_search="live"` when a lane needs current upstream facts, and verify a flag by the request or configuration the tool actually sends | `evidence/artifacts/landscape-sweep-20260926/README.md` (cases W1 to W3); `docs/decisions/2026-09-26-workstation-tool-refresh.md`; `tools/sota-convergence/landscape-sweep/codex_job.py` still passes `--search` at this base, with its fix pending |
Expand Down
Loading
Loading