From fc0c2554dbaacf573b515d570d50a939ead113af Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 20 Oct 2026 00:21:05 +0700 Subject: [PATCH 1/2] skills: record the night of 2026-10-19 six traps with tri learn (Closes #11106) ci-gates 3, tri 1, analog-emulation 2; each line was added by tri learn add, a second run prints duplicate. Co-Authored-By: Claude Sonnet 5.5 --- .claude/skills/analog-emulation/SKILL.md | 2 ++ .claude/skills/ci-gates/SKILL.md | 12 ++++++++++++ .claude/skills/tri/skill.md | 4 ++++ 3 files changed, 18 insertions(+) diff --git a/.claude/skills/analog-emulation/SKILL.md b/.claude/skills/analog-emulation/SKILL.md index 125aeebb51..8d289539ec 100644 --- a/.claude/skills/analog-emulation/SKILL.md +++ b/.claude/skills/analog-emulation/SKILL.md @@ -126,3 +126,5 @@ The page is a single HTML file whose data sits in four arrays at the top of its - uberWAVE reads ngspice RAW (binary or ASCII). Its `wp2-parser/golden/top.spice` (SAR ADC, xschem, IHP SG13G2) is GPL-2.0: test against it at run time, never vendor it. - A module-level one-element array literal `[798915]` lowers to a Zig array type (#10512); write `[798915] ** 1` until it is fixed. - Seal only with `ZIG_GLOBAL_CACHE_DIR` set in a sandboxed session: otherwise the seal's test run cannot create the zig cache and the seal records a false "blocked" verdict plus a home path, which turns `scan` red (#10521). Never write a home path into a committed file; derive it from `git rev-parse`. +- 2026-10-19 Closing a Terminal tab kills the script running in it (a remote-job poller and a ledger patch were lost this way); read the tab or wait for the script's marker file before stop_terminal_tab with close. Remote containers started with docker run -d survive and can be fetched again. (#11063) +- 2026-10-19 In zsh an unquoted variable holding several words is ONE argument; pass a list through 'sh -c' or use ${=var} (masterchecks.sh was handed eight shas as one and every row was empty). (#11063) diff --git a/.claude/skills/ci-gates/SKILL.md b/.claude/skills/ci-gates/SKILL.md index a526b52229..a807257a20 100644 --- a/.claude/skills/ci-gates/SKILL.md +++ b/.claude/skills/ci-gates/SKILL.md @@ -17495,3 +17495,15 @@ fixing a defect and fixing a sighting. auto-merged on the required four while the Coq run was still in progress. The repair is correct and was measured locally; but note what the merge gate can and cannot say about a change to a non-required workflow — nothing. See §550 and the merge-critical census. + +## Traps + +- 2026-10-19 The L1 check reads every commit message of a PR for Closes/Fixes/Resolves/Refs/Updates #N and rejects 'Part of #N'; pushed history is not rewritten, so tell lane agents to end each commit message with 'Updates #N' before the first push. (#11106) + +## Traps + +- 2026-10-19 One seal the emitter PR did not re-save (ml_host_io_model after the gen-verilog fix) turns coverage and spec-guards red on master for every open PR; read 'tools/check_seal_currency.py' output for the one name, and run it with TRI_T27C set when the tree has no target/. (#11102) + +## Traps + +- 2026-10-19 On a Mac a spec that no longer compiles under Zig cannot be re-sealed: 't27c seal --save' refuses, rightly. If gen_hash_zig, c and rust still MATCH in 'seal --verify', the recorded test pass is still the evidence for that Zig and only the moved hash is set, to the value verify prints; say so in the PR. (#11103) diff --git a/.claude/skills/tri/skill.md b/.claude/skills/tri/skill.md index 06ed703542..141e1790b7 100644 --- a/.claude/skills/tri/skill.md +++ b/.claude/skills/tri/skill.md @@ -589,3 +589,7 @@ tri self-heal --max-iterations 5 # Automated recovery loop ``` See **`references/recovery-policy.md`** for complete recovery procedures. + +## Traps + +- 2026-10-19 'tri coverage' run in a scratch worktree without target/ shows tests, vacuous and seal as unmeasured and the total looks low; pass --t27c
/target/release/t27c and the same specs read 145 of 145. (#11061) From 012ded258311a8d010a91ee1b7c511ef2614db36 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 20 Oct 2026 00:28:37 +0700 Subject: [PATCH 2/2] skills: ci-gates gets its three traps under one Traps heading (Closes #11106) The first commit made three headings (the tri learn fence bug, #11110); rebuilt with the fixed tri learn on the master file: one heading, three rows. Co-Authored-By: Claude Sonnet 5.5 --- .claude/skills/ci-gates/SKILL.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.claude/skills/ci-gates/SKILL.md b/.claude/skills/ci-gates/SKILL.md index a807257a20..24b3afe8df 100644 --- a/.claude/skills/ci-gates/SKILL.md +++ b/.claude/skills/ci-gates/SKILL.md @@ -17499,11 +17499,5 @@ change to a non-required workflow — nothing. See §550 and the merge-critical ## Traps - 2026-10-19 The L1 check reads every commit message of a PR for Closes/Fixes/Resolves/Refs/Updates #N and rejects 'Part of #N'; pushed history is not rewritten, so tell lane agents to end each commit message with 'Updates #N' before the first push. (#11106) - -## Traps - - 2026-10-19 One seal the emitter PR did not re-save (ml_host_io_model after the gen-verilog fix) turns coverage and spec-guards red on master for every open PR; read 'tools/check_seal_currency.py' output for the one name, and run it with TRI_T27C set when the tree has no target/. (#11102) - -## Traps - - 2026-10-19 On a Mac a spec that no longer compiles under Zig cannot be re-sealed: 't27c seal --save' refuses, rightly. If gen_hash_zig, c and rust still MATCH in 'seal --verify', the recorded test pass is still the evidence for that Zig and only the moved hash is set, to the value verify prints; say so in the PR. (#11103)