Skip to content

Codex worker lane: workstation host proof, skill-worker route check and lane follow-ups - #406

Merged
seathatflowsinourveins merged 2 commits into
mainfrom
claude/w3-followups-20260927
Sep 27, 2026
Merged

seathatflowsinourveins merged 2 commits into
mainfrom
claude/w3-followups-20260927

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

Summary

Record the workstation's Codex worker-lane apply and proof from main before
#395, preserve the failed project-binding attempt, and add a worker check that
reads an installed skill through an available lane tool. The #395 start-up
allowances remain pending a current-revision dry run and apply.

Changes

  • Add evidence/artifacts/codex-worker-lane-host-20260927/README.md and six
    sanitized outputs: dry-run.txt, dry-run-project.txt, apply.txt, prove.txt,
    prove2.txt, and prove-live.txt. Keep the 6/7 failure, corrected 7/7 static
    proof, and historical 12/12 proof with five real model calls separate.
    A dated revision erratum names the executed source as "main before Codex templates: OmniRoute gateway profile, verified base keys and the Codex-template token gaps #395;
    exact commit not retained" in both the receipt and decision addendum.
  • Append a 2026-09-27 workstation addendum to the worker-lane decision: watcher
    apply at 07:51:52Z, coordinator-completed three-table project host step, and
    A0's completed 25-call receipt from the tiering experiment published with GPT-6 family tiering: record the frozen run's results (S1, gpt-6-sol at medium, for mechanical extraction) #397.
  • Extend tools/adoption/prove_codex_lane.py with an installed SKILL.md check,
    --skill-file selection, exact first-line comparison against the actual file,
    and a recorded MCP or rtk cat route. Keep project-boundary refusal fail-closed
    until the worker completes an allowed read. The updated live suite makes six
    calls when the skill is present; it does not rewrite the historical five calls.
    The prompt now permits only rtk cat PATH or rtk cat -- PATH as shell
    reads, matching the existing verdict. Native cat, head -n 1, rtk read
    and rtk proxy cat are explicit synthetic refusal cases.
  • Add tests/test_codex_worker_skill.py and update the existing JSON-summary
    test in tests/test_codex_worker_lane.py for the sixth worker.
    The boundary-refusal fixture uses the builder's observed native event shape:
    failed status, null error and refusal text in content. Remove the unsupported
    result.isError branch and subtest from the Codex event verdict.
  • Update recipes/README.md with the six-call count, recorded skill route,
    installed-skill prerequisite, --skill-file and missing-skill failure. Correct
    the receipt: the live suite always reports the skill check, even when it fails
    without launching a sixth worker.
  • Add two dated anti-pattern rows to docs/harness-defaults.md: profiles layer
    over the base config; strict config rejects partial MCP profile tables and is
    unsupported on debug at codex-cli 0.157.1. Attribute enforcement to this log;
    distinguish exec_argv's defined invocation from the retained proof's verdicts.
  • manifests/evidence.json: the branch's own files are re-registered in the last
    commit (docs/lanes.md hot-file protocol) after the replay onto main; the
    re-registration is limited to files this branch changes.

Evidence

  • Historical local integration on the real Codex home: the supplied
    apply/read-back and proof outputs. The watcher timestamp and private backup
    action are attributed to the coordinator. Outer shell exits and full native
    events were not retained in these text outputs. The source revision is main
    before Codex templates: OmniRoute gateway profile, verified base keys and the Codex-template token gaps #395; the exact commit was not retained. This is not evidence that the
    Codex templates: OmniRoute gateway profile, verified base keys and the Codex-template token gaps #395 start-up allowances were applied.
  • Historical live provider execution: five calls in prove-live.txt; A0's
    25 successful calls belong to the separate tiering receipt. Neither is a new
    execution by this builder or acceptance of other hosts.
  • Synthetic fixtures: skill event checks reject guessed/prose answers,
    wrong file/line, whitespace changes, failed or incomplete reads, and command
    strings that only mention a read. They accept the selected file through MCP
    and through a shell fallback after a project-boundary refusal. Launch tests
    verify skill selection, pinned lane arguments, missing-skill failure, and the
    retained route and sixth worker summary.
  • Original builder local verification: python3 -m unittest tests.test_codex_worker_skill tests.test_codex_worker_lane tests.test_adoption_docs_consistency ran 99
    tests in 32.335s, exit 0, 8 skips. A subprocess ResourceWarning occurred;
    a subsequent process observation confirmed that child had exited.
  • Original builder native local integration in scratch Codex homes: with
    NAS_CODEX_INTEGRATION=1, the existing
    CodexIntegrationTests.test_strict_config_refuses_the_stack_worker_profile_at_this_pin
    and test_a_project_config_outranks_the_profile_but_not_the_pinned_flags
    both passed (2 tests, 8.643s, exit 0), without a model/provider call.
  • Original builder red/green, synthetic fixtures: six new verdict tests initially errored on the missing
    implementation; three launch/summary checks then failed before wiring the
    sixth worker. A measured path=... MCP output prefix reproduced a failing
    positive control before the parser correction. Final skill tests passed.
    Missing stdout for a genuinely blank first line also failed a negative
    control before the comparison was tightened; the final covering run passed.
  • Repair red/green, synthetic fixtures: the new prompt/route contract test
    failed on the broad direct-shell allowance (1 test, exit 1), then the complete
    skill module passed (10 tests, 0.033s, exit 0). Each accepted or refused shell
    form is exercised both directly and through a shell wrapper. The refusal
    fixture matches the observed failed/null-error/content event; it remains a
    constructed fixture, not a replay or new live read.
  • Repair local integration and structural checks: the covering command
    python3 -m unittest tests.test_codex_worker_skill tests.test_codex_worker_lane tests.test_adoption_docs_consistency ran 100 tests in 33.166s, exit 0,
    OK (skipped=8). The run emitted the subprocess ResourceWarning also seen in
    the original builder run. The repair is a working diff on local source
    77a3c4014e370dd1b0e65d3fbbb65475b7b1b1ba; returned results and environment
    details are in repair-verification.txt in the unit directory.
  • Coordinator structural validation, original build: validate.sh ended
    FAILS=0 (validate-build.log, acceptance.txt), verified again by reading
    those retained outputs during repair. This is not a new validation run.
  • Coordinator repository local integration/synthetic suite, original build:
    the shared-temp full-suite run reported 6602 tests, 164 failures, 94 errors
    and 760 skips. The reviewer attributes that window to shared /tmp
    interference. Every delta module passed in the isolated rerun:
    rerun-deltas.log reports 944 tests in 70.136s, OK (skipped=77), and
    .rerun-failset is empty. The three unit covering modules were absent from
    the harness failset. The base's test_pre_commit_gate failure predates this
    unit. These results do not turn the original full-suite failure into a pass.
  • Original publication checks, independently confirmed by the reviewer: all six files match their supplied originals after
    the documented substitutions; no listed private-data patterns in those
    outputs, local Markdown links resolve, and git diff --check exits 0.
    The repair preserves all six output files; its own git diff --check also
    exits 0. Only the README gains dated corrections.
  • Unchanged upstream tests / local performance measurement: none run and
    none claimed. The Python tests are repository integration/synthetic checks.

SOTA sources

Review dispositions

All six findings are accepted and repaired:

  1. Narrow the prompt to the existing rtk cat shell contract; test acceptance
    of its two forms and refusal of all four alternative forms named in review.
  2. Add dated source-revision and pending-Codex templates: OmniRoute gateway profile, verified base keys and the Codex-template token gaps #395 statements to both receipt and
    addendum without changing the six historical outputs.
  3. Document six calls, the skill prerequisite/override, route recording and the
    always-reported check's missing-skill failure.
  4. Match the observed native refusal and remove the unsupported result field.
  5. Correct the enforcement and invocation-versus-verdict attributions.
  6. Attribute tool observations to the builder's own session, include the
    coordinator's evidence registration, and report its validation, failed
    full-suite window and successful isolated delta rerun by evidence class.

The file-handler citation verification gap was also closed against v1.0.169;
the source label and line range now distinguish the guard from its caller.

Residuals and not done

The newly added skill worker has synthetic coverage. The local refused
ctx_execute_file and rtk cat observations were made in the builder's own
session (gpt6-build-events.jsonl, research.md), with no committed receipt;
they are not skill-worker live execution. No sixth live model call or full
six-call live proof was run. The supplied historical proof remains 12/12.
Matching a common first line such as --- adds little discrimination beyond
the path/tool check; it is not evidence of comprehension of the skill.
The exact old apply/prove revision is still unknown and the #395 start-up
allowances still await a current-revision dry run and apply. The summaries do not
satisfy the repository's formal host-acceptance retention requirements or accept
any other host. Strict-mode errors/debug incompatibility are observed at 0.157.1
and require rechecking on upgrade.

The requested /var/tmp/claude-followups could not be created: this sandbox
returned "Read-only file system". Repair tests instead used TMPDIR under the
unit directory and GIT_CEILING_DIRECTORIES at that same directory so Git does
not discover the sandbox's empty /tmp/.git.

No credentials or active host configuration were read or changed by the
builder, and it ran no git write commands.

Coordinator acceptance after the repair round and the replay onto main (local integration, this host, 2026-09-27):

  • Before the replay, at the repaired head on the old base: validate.sh FAILS=0. The full suite ran 6603 tests with one failure, tests.test_secret_path_guard.test_host_profile_copy_is_verbatim. That test compares the host's installed guard with the branch copy, and the host had installed main's newer guard (Claude harness settings: credential-store and destructive-git denies, Opus role agents without frontmatter isolation, rtk-aware guard #402) at 14:04Z. Temp dirs sat outside /tmp.
  • After the replay onto main, validate.sh FAILS=0. The re-registration is limited to this branch's own files; an unrelated entry the old harness had added was dropped.
  • An independent repair verification (Opus evidence reviewer) marked all three medium findings resolved, with the residuals below.

Residuals from that verification:

Recommended lane label: lane:foundation.

🤖 Generated with Claude Code

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Sep 27, 2026
Scout and others added 2 commits September 27, 2026 11:20
Retain six sanitized workstation outputs, the failed project-binding proof,
the corrected 7/7 static result and 12/12 five-call live result. Append the
dated host-step and A0-control updates without rewriting historical records.

Add an installed-SKILL.md worker probe with exact first-line validation and
recorded context-mode or rtk cat route, plus failing-first synthetic controls.
Record the profile-layering and strict-config corrections in the anti-pattern log.

Sources: openai/codex rust-v0.157.1, codex-rs/config/src/loader/mod.rs
L286-334, L594-600 and L625-645; config_layer_source.rs::precedence;
codex-rs/exec/src/exec_events.rs. mksglu/context-mode v1.0.169,
src/security.ts::evaluateProjectContainment and src/server.ts, issue #852.
rtk-ai/rtk v0.50.0 hooks/rtk-awareness-full.md;
https://developers.openai.com/codex/skills/;
https://docs.python.org/3.12/library/shlex.html.

Validation: 99 covering unittests, 8 skipped, exit 0; two additional native
Codex scratch-home checks passed. New skill controls and launch/summary tests
failed before implementation, then passed. No fresh live model run is claimed.

Content written by GPT-6 (gpt-6-astra, effort max) through the Codex worker lane and the OmniRoute
pool; committed by the coordinator harness.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Narrow the worker prompt to the rtk cat forms its verdict accepts, add
synthetic accept/refuse controls for each reviewed shell form, and match
the observed failed/null-error/content MCP refusal. Drop result.isError,
which Codex does not serialize in its native exec event result.

Add dated pre-#395 revision errata, keep start-up allowances pending, and
document six live calls, the skill prerequisite and missing-skill failure.
Correct enforcement, invocation and builder-observation attributions;
retain the coordinator's validation and isolated delta-suite outcomes.

Sources: openai/codex rust-v0.157.1,
codex-rs/exec/src/exec_events.rs L263-276;
codex-rs/config/src/loader/mod.rs L286-334, L594-600 and L625-645.
mksglu/context-mode v1.0.169 src/server.ts L1165-1200, L2114-2123 and
L2215-2219; src/security.ts::evaluateProjectContainment (issue #852).
rtk-ai/rtk v0.50.0 hooks/rtk-awareness-full.md;
https://developers.openai.com/codex/skills/;
https://docs.python.org/3.12/library/shlex.html.
Local #395: 805991b.

Validation: prompt control failed before the fix; skill module passed
10 tests; covering modules passed 100 tests, 8 skips, exit 0. No new live
model call or host apply was run. Historical coordinator acceptance is
reported separately in pr-body.md; the coordinator owns re-registration.

Content written by GPT-6 (gpt-6-astra, effort max) through the Codex worker lane and the OmniRoute
pool; committed by the coordinator harness.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@seathatflowsinourveins
seathatflowsinourveins merged commit 341ba64 into main Sep 27, 2026
27 of 28 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the claude/w3-followups-20260927 branch September 27, 2026 15:44
seathatflowsinourveins pushed a commit that referenced this pull request Sep 28, 2026
…lane host receipt

One review round on 0779e91a (GPT-6 codex exec and a Claude evidence-reviewer, both
changes-needed); every finding was in the record or the evidence text:
- the record: --max-turns 10 with one 11-turn result; every builder change after the
  freeze; the applied X9 text ties with the line it replaced on the preregistered
  metrics; the runs used ba1700a's files; X5b's wording and the tests that read
  AGENTS.md; the advisor calls; M4 is project-side; a review subsection;
- x9-round3: audit_control_r3.py and judges/audit-control.json (clean copies reproduce
  the published verdicts; one planted access per judgment voids all four); the README
  lists every builder change, the judge-action flag and the tested configuration;
- codex-worker-lane-host-20260928: the 12:14-12:15Z dry run, apply and proof, sanitized
  as #406's were, and a recheck with exit codes and times (dry run: block in place;
  proof 7 of 7);
- review-444: both prompts, returns, usage and each finding's disposition.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
seathatflowsinourveins pushed a commit that referenced this pull request Sep 28, 2026
…lane host receipt

One review round on 0779e91a (GPT-6 codex exec and a Claude evidence-reviewer, both
changes-needed); every finding was in the record or the evidence text:
- the record: --max-turns 10 with one 11-turn result; every builder change after the
  freeze; the applied X9 text ties with the line it replaced on the preregistered
  metrics; the runs used ba1700a's files; X5b's wording and the tests that read
  AGENTS.md; the advisor calls; M4 is project-side; a review subsection;
- x9-round3: audit_control_r3.py and judges/audit-control.json (clean copies reproduce
  the published verdicts; one planted access per judgment voids all four); the README
  lists every builder change, the judge-action flag and the tested configuration;
- codex-worker-lane-host-20260928: the 12:14-12:15Z dry run, apply and proof, sanitized
  as #406's were, and a recheck with exit codes and times (dry run: block in place;
  proof 7 of 7);
- review-444: both prompts, returns, usage and each finding's disposition.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
seathatflowsinourveins pushed a commit that referenced this pull request Sep 28, 2026
…lane host receipt

One review round on 0779e91a (GPT-6 codex exec and a Claude evidence-reviewer, both
changes-needed); every finding was in the record or the evidence text:
- the record: --max-turns 10 with one 11-turn result; every builder change after the
  freeze; the applied X9 text ties with the line it replaced on the preregistered
  metrics; the runs used ba1700a's files; X5b's wording and the tests that read
  AGENTS.md; the advisor calls; M4 is project-side; a review subsection;
- x9-round3: audit_control_r3.py and judges/audit-control.json (clean copies reproduce
  the published verdicts; one planted access per judgment voids all four); the README
  lists every builder change, the judge-action flag and the tested configuration;
- codex-worker-lane-host-20260928: the 12:14-12:15Z dry run, apply and proof, sanitized
  as #406's were, and a recheck with exit codes and times (dry run: block in place;
  proof 7 of 7);
- review-444: both prompts, returns, usage and each finding's disposition.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
seathatflowsinourveins added a commit that referenced this pull request Sep 28, 2026
…CLAUDE.md, 4 of 4 blind judgments; dashboard manifest bound (#444)

* AGENTS.md: scope role dispatch to new or ad-hoc stages; current-state holdout wording

Two items of the 2026-09-27 prompt audit, resolved by cross-family convergence
(docs/decisions/2026-09-27-prompt-audit-resolution.md, lane:foundation PR):

- Role dispatch applies to each new or ad-hoc workflow agent() stage; the saved
  scripts vendored in examples/claude-native/workflows keep their reviewed routing,
  byte-identical to agent-lab, as that README states in its opening paragraph and the
  Workflow contract's Dispatch by role bullet (F1).
- The inspected 2021 control segment: "has been inspected, so no experiment may
  present it as a fresh untouched holdout" (F4).

o200k (gpt-tokenizer 3.4.0): AGENTS.md 2,374 -> 2,401 tokens (+27).

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* X9 second round: blind two-family re-judgment splits again; CLAUDE.md unchanged

After round 1 split 2 and 2 on X9 (CLAUDE.md:3-4), a second round added:
- the installed client's own refusals of /context and /mcp through the Skill
  tool;
- an executed comparison of the three texts, all headless claude -p runs
  through promptfoo 0.123.1: K1-K3 as 27 preregistered runs on Opus 5.5, and
  K4 as 9 runs on Sonnet 5;
- 38 dated sources, plus 5 recorded searches that found nothing.

Attempt 1 was void, because its judges could read this record and the
coordinator's work directory. Attempt 2 was final. Its judges read a plain
export of ba1700a and judged in both orders: blind-adjudicator agents and the
packaged GPT-6 runner. A void audit, hashed before any return was read, found
no voiding hit.

Both GPT-6 judgments chose the GPT-6 lane's text, and both Claude judgments
chose the Claude lane's text, so under the unanimity rule nothing is applied.
All eight judgments across both rounds reject the current line. The addendum
records both positions and the comparison that would decide it.

Review:
- One round, by GPT-6 and Claude reviewers, then one repair round:
  - disclose that K4 ran on Sonnet 5 while the packets said Opus 5.5;
  - make check_orders.py exit 1 on a difference, and add retally.py;
  - correct the counts;
  - add receipts (run windows, settings file names per run, the K4
    skill-list sentences, the isolation receipt, a source supplement);
  - fix the wording.
- A separate re-check found all 13 items fixed and two new defects: an
  overstated "keeps only" claim and an overstated account of K4's origin.
  Both are fixed. The recovered first check_orders.py is kept to show its
  flaw.
- A pre-handoff review found that the published packets, prompts and K4 files
  quoted answer heads containing client configuration (an enabled-plugin
  entry, status-line wiring, plugin install records). Every published copy
  now withholds them. attempt2/sent-sha256.json keeps the hashes of the files
  as sent. This commit squashes the earlier ones, so no commit on the branch
  carries that text.

docs/harness-defaults.md gains three dated anti-pattern rows:
- a model scope taken from the preregistration instead of each run's
  recorded model;
- a check that reported a mismatch and exited 0;
- judge inputs published with answer text that quotes client configuration.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* Prompt audit round 3: X9 applied to CLAUDE.md; lane A's S1 and X5b in AGENTS.md; AN-13 receipt

- CLAUDE.md lines 3-8 (X9): round 3 compared the two texts on the
  measure the second round named (native /mcp and /context refusal in
  print mode, with a promptfoo-graded, preregistered comparison) and the
  blind adjudication chose the GPT-6 lane's text in all four judgments.
- AGENTS.md:3 (X5b): the operator's 2026-09-28 top-rule paragraph, byte
  for byte; AGENTS.md:37 (S1): build a PR description from the pull
  request template. Both converged in lane A (agree / agree). X5a and X5c
  land in #458.
- AN-13: the headless /doctor prompt-audit run the 2026-09-28 community
  sweep left open. Facts of both runs in
  evidence/artifacts/prompt-audit-20260927/an13/ (the report text is not
  published); no edit made from it; each finding's disposition is in its
  README and in the decision record.
- Decision record and x9-round3/ evidence (preregistration, isolation
  receipt, fixtures, judges, usage).

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* Prompt audit: print-mode anti-pattern row (AN-13), line-7 co-change with X5b, round-3 token receipts

- docs/harness-defaults.md: a dated row for running a headless skill
  that starts background agents under print mode's default 600 s wait
  (AN-13's first run: four Explore agents stopped by the client, an
  interim note instead of the report); the rerun with
  CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS=0 returned the report
  (code.claude.com/docs/en/env-vars).
- docs/harness-defaults.md:7 restates AGENTS.md's new top-rule heading
  (X5b), disclosed in the decision record.
- controls/token-counts-r3-{f508ffb,base,after}.txt: the o200k counts
  the record cites for CLAUDE.md (30 -> 96 at f508ffb; 96 -> 162 at
  fb14ded) and AGENTS.md (2,374 -> 2,484 at fb14ded).
- The record cites validate.yml's heading rule at both revisions and
  notes the Codex-lane host step done on this workstation after #458.
- x9-round3/README.md: the scan note names every kind of match (names,
  not values), including one judgment's quote of the untested cases.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* Grand dashboard: the evidence manifest gets its own read bound

This pull request's registrations take manifests/evidence.json past the
2,000,000-byte bound progress.py applied to every source (1,987,653 bytes
on main at fb14ded; 2,017,827 with this branch), so the snapshot refused
it and eight dashboard tests failed. The snapshot reads only the
manifest's receipt count: SOURCE_MAX_BYTES gives the manifest 8,000,000
bytes and every other source keeps MAX_BYTES. read(root, relative) keeps
its signature (the tests patch it). The new test fails on the unchanged
reader (controls/dashboard-bound-before.txt) and passes with 16 others
(dashboard-bound-after.txt). Overturn: when the manifest nears the new
bound, count receipts from a smaller source instead of raising it again.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* Prompt audit round 3: review repairs, the audit's control, the Codex lane host receipt

One review round on 0779e91a (GPT-6 codex exec and a Claude evidence-reviewer, both
changes-needed); every finding was in the record or the evidence text:
- the record: --max-turns 10 with one 11-turn result; every builder change after the
  freeze; the applied X9 text ties with the line it replaced on the preregistered
  metrics; the runs used ba1700a's files; X5b's wording and the tests that read
  AGENTS.md; the advisor calls; M4 is project-side; a review subsection;
- x9-round3: audit_control_r3.py and judges/audit-control.json (clean copies reproduce
  the published verdicts; one planted access per judgment voids all four); the README
  lists every builder change, the judge-action flag and the tested configuration;
- codex-worker-lane-host-20260928: the 12:14-12:15Z dry run, apply and proof, sanitized
  as #406's were, and a recheck with exit codes and times (dry run: block in place;
  proof 7 of 7);
- review-444: both prompts, returns, usage and each finding's disposition.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* Prompt audit: map the reviewed commits to the rebased ones

The branch was rebased onto 9f8db58 (#400) with every patch unchanged (git range-diff
shows each pair as =). review-444/README.md says 0779e91a, the reviewed head, was never
pushed and was 7e5eddcd plus a registration commit, and gives the rebased SHAs of
9e036e7d and 7e5eddcd; the decision record points there.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* Prompt audit: #446 carried the dashboard bound; map reviewed commits by subject

After the rebase onto 3058b23, the dashboard commit keeps only its
record subsection and the two receipts: #446 landed the same
progress.py and test hunks (two-file patch-id 8f693abd4c601190). The
review README now names the reviewed commits by subject, since each
rebase changes their SHAs.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* AN-13: point M4 and M5 to their 2026-09-28 second-family lanes

M4: both lanes reject the rewrite (no edit; the preload stays with the
2026-10-25 comparison). M5: the lanes amended with different texts and
the blind adjudication split (unchanged). Both are recorded in
docs/decisions/2026-09-28-an13-m4-m5.md, a separate lane:foundation PR.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* AN-13 M4 pointer: the trial's removal rule is open (#460)

#460's record now says the M4 lanes did not test the skills trial's rule that
removes a trial skill whose instructions conflict with CLAUDE.md or AGENTS.md,
and leaves that question open. Say so where this record points to it.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* Register the instruction files, the decision record, the anti-pattern rows and the prompt-audit evidence

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

---------

Co-authored-by: Scout <scout@local>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant