tools(cold-start-check): executable big-picture-first checklist (B-0117)#1188
tools(cold-start-check): executable big-picture-first checklist (B-0117)#1188
Conversation
…n tick — Aaron rest signal Refresh-and-stop tick. Aaron signaled "i'm going to rest" after Claude.ai (separate Anthropic instance) held the line cleanly on AI-peer-not-equal-in-fatigue-grading and Aaron caught his own pedantic framing. Tick body is operational record only; substrate-class promotion of the exchange held for cooler grading per cooling-period razor + maintainer-rest signal. Cron 98fc7424 alive. PR queue (#1083 / #1181 / #1182 / #1183) BLOCKED on non-required lint+threads, no autonomous fixes during rest period.
…klist (B-0117)
Operationalizes the cold-start big-picture-first rule
(memory/feedback_cold_start_big_picture_first_not_prompt_first_aaron_2026_04_30.md).
Same prose-rule → executable-tool pattern that produced
tools/github/poll-pr-gate.ts from the poll-the-gate rule.
`bun tools/cold-start-check.ts` prints 8 steps:
1. Mission scope (intellectual-backup-of-earth)
2. Products in flight (factory substrate / package manager /
database / Aurora)
3. Internal direction (project-survival)
4. Authority scope (WONT-DO)
5. Operating disciplines (CLAUDE.md headline)
6. Current trajectory (branch + last 5 commits)
7. Maintainer CURRENT-*.md files in user-scope memory
8. Then prompt — read the user's prompt and proceed downstream
Modes: human-readable (default), JSON (`--json`), offline (`--no-git`).
TypeScript-clean (`tsc --noEmit -p tsconfig.json` passes).
Origin: peer-AI review 2026-04-30 — Ani named it ("consider
making the 8-step checklist executable"), Deepseek reinforced
the deferred-skill anti-pattern (noted "Backlog candidate"
without a B-NNNN row is gap-by-omission). Filed as B-0117 to
close the gap. Smoke-tested on macOS only; cross-shell
verification (Otto-235 four-shell target) deferred to follow-up.
Closes B-0117.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b374ee9ab3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Adds a Bun/TypeScript tooling entrypoint to operationalize the “cold-start big-picture-first” checklist as an executable report, plus documentation and a tick-history shard recording the work.
Changes:
- Added
tools/cold-start-check.tsto print an 8-step cold-start “big-picture state” (human-readable + JSON, optional--no-git). - Added
tools/cold-start-check.mddocumenting usage, modes, and surfaced steps. - Added a tick-history shard entry under
docs/hygiene-history/ticks/2026/05/02/.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 15 comments.
| File | Description |
|---|---|
| tools/cold-start-check.ts | New executable tool that reads key source-of-truth files and prints a cold-start checklist report. |
| tools/cold-start-check.md | Usage + rationale documentation for the new cold-start tool. |
| docs/hygiene-history/ticks/2026/05/02/0040Z.md | New tick-history shard entry for 2026-05-02 00:40Z. |
… through Aaron's rest period (#1192) Session-summary tick documenting the autonomous-loop work landed/in-flight while Aaron rested. Aaron's rest-period authorization 2026-05-02 ~00:42Z flipped the framing from cooling-period minimum-action to substantive grinding: "Ticks that fire while you rest will be you can go hard, you don't have to do minimum action :)" + "really look at the backlog, there is just a crazy amount" + "you are authorzed to work on whatever you want the lane splits we just already agreed with each other would speed up all future work". Eight substantive PRs: #1184 MERGED — tick-history shard (cooling-period close) #1185 MERGED — B-0125 CI lane-split (gate.yml path-filter skips F#/dotnet build steps on docs-only PRs) #1186 MERGED — gate.yml=immune-system Aaron-recognition + Claude.ai-engagement verbatim preservation #1187 MERGED — B-0070 orphan role-ref + un-stripped-name- attribution lint (tools/hygiene/audit-*.sh) #1188 OPEN — B-0117 cold-start-check.ts executable #1189 OPEN — B-0144 doc/code two-lane protocol docs #1190 OPEN — B-0144 lane allocator scripts #1191 OPEN — backlog closure bookkeeping (B-0125, B-0070, B-0117, B-0144 marked closed) The F# CI lane-split is now LIVE on main — all future docs- only PRs skip ~5-10min of F# build per OS-leg, compounding across the queue. Substrate-class promotion of the carved sentence "gate.yml IS the immune system at code-substrate layer" held per cooling- period razor; verbatim preservation immediate per the queue/ promotion split + Aaron's "if you dont write it anywhere you'll just compress and forget" instruction.
Seven findings from Codex + Copilot + github-code-quality on PR #1188 addressed: 1. **ESM `__filename` →`fileURLToPath(import.meta.url)`** (Copilot). Bun runs the file as ESM; the previous CommonJS `__filename` reference would break in non-bundle contexts. Now uses the canonical ESM self-path pattern. 2. **`--no-git` actually prevents git invocations** (Copilot). Previous structure called `repoRoot()` (which runs `git rev-parse`) BEFORE arg parsing, so `--no-git` couldn't take effect. Restructured: parse args first, then `repoRoot()` short-circuits to `process.cwd()` when args.noGit is set. 3. **Surface git command failures in default mode** (Codex P2). Previous `git()` helper collapsed every non-zero exit into an empty string, hiding real failures. Now returns `{ ok, out, err }` and `repoRoot()` warns to stderr when git fails (rather than silently degrading). 4. **All 8 steps in JSON output** (Codex P2). Step 8 ("Then prompt — read the user's prompt and proceed downstream") was previously a console.log footer in human-readable mode only. Now it's a proper Step entry in the steps array, so `--json` output includes it. Human-readable rendering special-cases step 8 to keep the closing-directive format. 5. **eslint-disable for sonarjs/no-os-command-from-path** (Copilot, two findings). Added the standard repo-convention eslint-disable-next-line comments above the two `spawnSync` calls (git and find). 6. **Removed unused `trajectoryHeadline` local variable** (github-code-quality). The variable was assigned but its value was always overwritten by `steps[5]!.headline = ...` in the same block. Dropped the local; assigned directly to the step. 7. **Stripped persona-name attribution from `tools/cold-start-check.md`** (Copilot). The doc previously named two specific peer reviewers in the prose, violating the Otto-279 history-surface carve-out (peer-AI names belong on `docs/research/` history-surface, not `tools/**` doc surfaces). Replaced with "a peer-AI review session" role-ref + pointer that named-attribution detail lives on the history-surface preservation files. Smoke-tested: default / --no-git / --json modes all work correctly. TypeScript-clean (`bunx tsc --noEmit` passes). Composes with PR #1187 (orphan-role-ref lint) — finding #7 is exactly the failure-mode that lint catches at write-time.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Two findings from Codex P2 + Copilot on PR #1191 addressed: 1. **Quote `closed_by` PR-reference values** (Copilot, four instances). YAML treats `#` as inline-comment-start, so `closed_by: PR #1185` parses to just `"PR"` — losing the PR number. Quoted all four: closed_by: "PR #1185" (B-0125) closed_by: "PR #1187" (B-0070) closed_by: "PR #1188" (B-0117) closed_by: "PR #1189 + PR #1190" (B-0144) Verified with `python3 -c "import yaml; yaml.safe_load(...)"`: all four files now parse with `closed_by` preserved correctly. 2. **Move B-0117's closure note OUT of frontmatter** (Codex P2 + Copilot). The blockquote `> **Closed ...**` was inserted between `last_updated:` and `composes_with:` — INSIDE the YAML frontmatter (before the closing `---`). That broke the frontmatter parse. Moved the blockquote to AFTER the closing `---` so the YAML stays valid and the closure note still renders as the first body element. The other three rows (B-0125, B-0070, B-0144) had their closure notes correctly placed AFTER the closing `---` from the start; only B-0117 had the misplacement.
…026-05-02) (#1191) * backlog: close B-0125 + B-0070 + B-0117 + B-0144 (landed 2026-05-02 overnight session) Bookkeeping pass marking four backlog rows as closed by the PRs that landed in this autonomous-loop session arc: B-0125 — skip F#/dotnet build on docs-only PRs (PR #1185) B-0070 — orphan role-ref detector lint (PR #1187) B-0117 — cold-start-check.ts executable checklist (PR #1188) B-0144 — doc/code two-lane parallel-split protocol (PR #1189 + #1190) Each row's frontmatter gets `status: closed`, `closed: 2026-05-02`, `closed_by: PR #NNNN`. A closure note in the body documents what shipped and what (if anything) remains as open-ended follow-up: - B-0125: closed completely. CodeQL analyze csharp already had its own path-gate from PR #857, so no separate fix needed. - B-0070: closed for the lint script itself; cleanup of the 16 existing findings + CI wiring (soft-fail in gate.yml) deferred. - B-0117: closed for the implementation. Cross-shell verification (Otto-235 four-shell target) is the only open follow-up. - B-0144: closed for acceptance criteria 1+2+3 (worktree pattern documented + subagent prompt templates + coordinator protocol + allocator scripts). Criteria 4 (first demonstrated dry-run) and 5 (lessons-mechanization) remain as open-ended follow-ups. `docs/BACKLOG.md` regenerated via `BACKLOG_WRITE_FORCE=1 bash tools/backlog/generate-index.sh`. The rows now appear as `[x]` checkboxes in the index. * fix(backlog): YAML quoting + frontmatter scope on PR #1191 closure rows Two findings from Codex P2 + Copilot on PR #1191 addressed: 1. **Quote `closed_by` PR-reference values** (Copilot, four instances). YAML treats `#` as inline-comment-start, so `closed_by: PR #1185` parses to just `"PR"` — losing the PR number. Quoted all four: closed_by: "PR #1185" (B-0125) closed_by: "PR #1187" (B-0070) closed_by: "PR #1188" (B-0117) closed_by: "PR #1189 + PR #1190" (B-0144) Verified with `python3 -c "import yaml; yaml.safe_load(...)"`: all four files now parse with `closed_by` preserved correctly. 2. **Move B-0117's closure note OUT of frontmatter** (Codex P2 + Copilot). The blockquote `> **Closed ...**` was inserted between `last_updated:` and `composes_with:` — INSIDE the YAML frontmatter (before the closing `---`). That broke the frontmatter parse. Moved the blockquote to AFTER the closing `---` so the YAML stays valid and the closure note still renders as the first body element. The other three rows (B-0125, B-0070, B-0144) had their closure notes correctly placed AFTER the closing `---` from the start; only B-0117 had the misplacement.
Summary
Operationalizes the cold-start big-picture-first rule (
memory/feedback_cold_start_big_picture_first_not_prompt_first_aaron_2026_04_30.md). Same prose-rule → executable-tool pattern that producedtools/github/poll-pr-gate.tsfrom the poll-the-gate rule.bun tools/cold-start-check.tsprints the current big-picture state across the 8 cold-start steps. Designed for one-screen ingestion (~30-50 lines), not ongoing-session reference.Origin
Ani peer review 2026-04-30: "Cold-start big-picture-first is excellent — consider making the 8-step checklist executable. Right now it's prose. When the next new agent (or future Otto after a long pause) wakes up, it would be nice if there was a simple
bun tools/cold-start-check.tsor similar that prints the current big-picture state."Deepseek peer review 2026-04-30 reinforcement: "Ani's 'cold-start executable tool' recommendation (item 2) was noted as 'Backlog candidate' but no B-NNNN was filed. This is the deferred-skill anti-pattern."
Filed as B-0117 to close the substrate-or-it-didn't-happen gap.
Steps surfaced
memory/feedback_zeta_ultimate_scope_intellectual_backup_of_earth_*.mdmemory/feedback_substrate_is_product_four_products_*.mdmemory/feedback_internal_direction_from_project_survival_*.mddocs/WONT-DO.mdCLAUDE.mdgit log --oneline -5+ branch~/.claude/projects/*/memory/CURRENT-*.mdModes
--json): structured output for programmatic consumption--no-git): skip git log + trajectory step (read-only contexts)Verification
bunx tsc --noEmit -p tsconfig.jsonpasses)Acceptance criteria from B-0117
bun tools/cold-start-check.tsruns and prints all 8 stepstools/cold-start-check.mdCloses
🤖 Generated with Claude Code