refactor(audit-ai-docs-test): scope fastExecSyncStub to describe + drop stale L160-171 label - #235
Merged
Merged
Conversation
…op stale L160-171 label Two cosmetic follow-ups to PR #233 (cold-reviewer MINOR #1 + #2): 1. Move `fastExecSyncStub` from module-level into the `probeR4() — execSync call content` describe block (its sole consumer). Module-level placement risked leaking into unrelated tests if the file extends; scoped placement removes that pollution surface. 2. Replace the stale `L160-171` reference in the comment header + describe title with stable wording (`probeR4() — execSync call content`). Line- number labels rot whenever lines are inserted above them — this PR's own move + the DN-1 Path C insertion already invalidated them. The remaining `L167` label on a sibling describe is left untouched (out of this PR's scope — user instruction targeted L160-171 only). No behavioural change: 191/191 tests pass, stubbed warm-path tests still 1-2ms, contract test still ~1.3s warm. Net diff: 24+/21- (~3 line delta).
artyhoo
added a commit
that referenced
this pull request
Aug 6, 2026
#1211) BFR two-axis verdict on the three `anthropics/knowledge-work-plugins` the operator named as uncovered by 53c2ec + #1210: engineering, design, product-management. Complements (does not duplicate) both prior verdicts and corrects #1210 §A0's "no engineering/design plugin exists" — true only for `claude-plugins-official`, false for `knowledge-work-plugins`. Verdict: ADOPT-operator + KEEP NARROW-shipped for all three, with a load-bearing Cowork-vs-CC caveat. README verbatim "Built for Claude Cowork, also compatible with Claude Code" + explicit `claude plugin install <p>@knowledge-work-plugins` block → trio IS CC-CLI-installable (kickoff's "Cowork-only" over-narrowed it), but optimal seat = Cowork. Per-capability T16 (actual counts corrected: engineering 10 skills/0 cmds, design 7/0, PM 8+1 = 26 capabilities, not the kickoff's "~38"): 0/26 direct problem-class matches; 1/26 real mechanism-overlap (product-brainstorming ↔ superpowers:brainstorming) that is domain-divergent (PM product-problem vs technical-capability design) — additive, not a displacement candidate; 1/26 name-adjacent-format-divergent (write-spec PRD prose vs machine-parseable kickoff). Negative-existence (6-item §1): zero hooks.json/.husky/scripts/CI in the trio; enforcement is .mcp.json connectors + skill prose, structurally distinct from our 20 CC hooks and from security-guidance's decision:"block". SSOT row #235 chosen (not #234) to leave #234 for in-flight PR #1210. Principle tests 08/10/11 GREEN (28/28). Prior-art: prior-art-evaluations.md#235 Co-authored-by: Test <test@example.com>
artyhoo
added a commit
that referenced
this pull request
Aug 6, 2026
… rung (getff-any-stack-trace) (#1233) * docs(prior-art): SSOT #237 — pre-commit runner-role verdict (getff-any-stack-trace S2b Task 0) RUNNER-ROLE verdict on pre-commit (pre-commit.com) for delivering the python lane's local git-hook rung. Resolves the T16 conflation that created this stage: #216 rejected pre-commit as a DELIVERY scaffolder (sample-config -> stdout, no merge) — the conditional at python-delivery-v0/kickoff.md:97-98 consumed that REJECT as a verdict on the ENFORCEMENT CHANNEL (the runner role), which #216's trigger-to-revisit never covered. Verdict: BUILD bare core.hooksPath-style delivery as default + integration arm for existing-hooks consumers. Decided on the binding priority-order criteria (kickoff §2 item 1): - (a) zero installed prerequisites — pre-commit FAILS: DeepWiki-verified (3 phrasings x 2 sources) that pre-commit requires Python 3.9+ AND the framework at runtime. - (b) augment-first, never clobber — pre-commit FAILS: GitHub issue #1198 confirms «Cowardly refusing to install hooks with core.hooksPath set». - (c) Node-free — both pass. Pre-push chosen over pre-commit: mirrors S2b CI template's identical checks at push time; fires at the moment a violation would leave the machine; uniformity with npm lane (setup.d/50-hooks.sh:12). BFR §3 mechanism: DeepWiki x3 phrasings on pre-commit/pre-commit + WebSearch x3 phrasings on the problem-domain term. Evidence cites #216 explicitly (role separation). ID note: the worker authored this row as #235 against a base where #235 was free. Between dispatch (2026-08-01) and egress (2026-08-07), #235 (knowledge-work-plugins) and #236 (anthropic-plugins-utility) landed on staging. Renumbered to #237 at rebase; the register's ID-uniqueness invariant (principle 08) is what the collision would have tripped. Prior-art: prior-art-evaluations.md#237 (NEW — runner-role verdict; #216 REJECT-as-delivery explicitly out of scope). * feat(python-lane): S2b — close the python lane's empty local git-hook rung Delivers a pre-push hook on the python lane (the missing earliest-reachable-channel rung between agent-session and CI). Verdict = BUILD bare core.hooksPath-style delivery as default + integration arm for existing-hooks consumers (SSOT #237; pre-commit REJECTED on the runner-role criteria: Python required at runtime + Cowardly-refusing clobber). Implementation: - packages/core/templates/python/hooks/pre-push.sh — hook body mirroring the CI template (ast-grep scan + ruff check . --config .getff/ruff-bans.toml); fail OPEN with loud warning + pinned install hint when a linter is absent (T-S2B-A counter); runtime opt-out via GETFF_SKIP_HOOKS=1. - packages/core/templates/python/hooks/getff.pre-commit-config.yaml.fragment — local-hook entry for the case-2 integration arm (consumer already uses pre-commit). - setup.d/45-python.sh — _py_deliver_local_hook_rung + 3 _py_integrate_* helpers, called from _py_deliver_agent_surface. Three integration cases: (1) core.hooksPath already set -> decline with notice; (2) .pre-commit-config.yaml present -> append fragment (idempotent via marker grep); (3) .git/hooks/pre-push file -> decline with notice; default = set core.hooksPath .getff/hooks. Install-time opt-out via GETFF_SKIP_HOOKS=1. Non-git-repo guard prevents fatal on a pre-`git init` consumer tree. --refresh re-delivery via _py_copy_or_refresh (refresh_safe honours pre-push.override.md Layer-3 escape hatch). Tests (tests/install-sh/python-entry-lane.test.sh): - Arm (14): hook delivered + executable + core.hooksPath activated + header documents opt-out + deletion path. - Arm (14b): install-time opt-out (GETFF_SKIP_HOOKS=1 -> no activation). - Arm (15): RED/GREEN firing through ACTUAL git push (local bare remote + planted os.system violation); SKIP-run via GETFF_SKIP_HOOKS=1. Tool-gated — container SKIPs when ast-grep/ruff absent; host-verify exercises the real firing proof (T-S2B-C). - Arm (16): three integration cases (existing core.hooksPath / .pre-commit-config.yaml / legacy .git/hooks/pre-push) — never silently broken, idempotent on re-install. T21 backward-check sibling surfaces: npm lane (setup.d/50-hooks.sh + .husky) SWEPT-CLEAN, untouched (anti-scope). Cargo lane (setup.d/46-cargo.sh) GAP-FOUND — same empty rung; named for the widening getff-any-stack-trace umbrella, NOT fixed here. Fingerprints regenerated: python/{greenfield,brownfield-ruff,brownfield-sgconfig} — new .getff/hooks/pre-push shifts the install output (kickoff §3 fingerprint-regen requirement). Prior-art: prior-art-evaluations.md#237 (BUILD verdict — bare core.hooksPath-style delivery + integration arm; pre-commit REJECTED on runner-role criteria). * fix(python-lane): S2b egress fixes — pipefail-defeated RED assertion, template registry, SSOT renumber Three host-side corrections found while landing the container's S2b work. None is a scope change; all three are defects the container did not surface. 1. Arm (15) RED assertion could never pass (tests/install-sh/python-entry-lane.test.sh). The assertion piped `{ cat push_red; git push ...; }` straight into `grep -qi`. Under `set -o pipefail` (line 15) the re-push's legitimate non-zero exit — the rung blocking the push, which IS the thing being asserted — became the pipeline's status, so the arm reported RED-not-fired even when the hook output was present verbatim in the captured stderr. Measured on the host: `✗ getff pre-push: ast-grep structural rule(s) fired — push blocked` present, arm still failed. Fixed by capturing to a variable first. Why the container missed it: arm (15) is tool-gated and SKIPs when ast-grep/ruff are absent, which they are in the container — a green container run on a vacuous arm, the T14 «clean audit on low coverage» shape the kickoff §5 named. Host: PASS=80 FAIL=0 with the arm actually exercised. 2. The two new hook templates were not registered in NON_RENDERED_TEMPLATE_FILES (packages/core/python-starter/render-python-templates.ts:78). The byte-drift gate asserts the committed set under templates/python/ equals plan + allowlist, so `backends/python-templates-drift.test.ts:46` went RED on the unregistered pair — caught by `.husky/pre-push` §5c on the host push, the same channel that caught the registry violation on S2. Registered with the rationale the existing entry carries (hand-authored, not a lint-rule render; byte-integrity guarded by the install fingerprint gate + arms (14)/(16b); firing guarded by arm (15)). packages/core test:backends after the fix: 24 files / 242 tests, 0 failed. 3. SSOT #235 → #237 across the code comments and the install-time echo (setup.d/45-python.sh:675,680,711,738,742,1013; python-entry-lane.test.sh:437). The worker authored the register row as #235 against a 2026-08-01 base; #235 (knowledge-work-plugins) and #236 (anthropic-plugins-utility) landed on staging in the six days the branch sat unharvested. The rebase renumbered the row; these are the in-code citations that pointed at it. Host-verify (kickoff §7): 3/3 on Darwin — python-entry-lane 80/80, python-rules-lock 21/21, snapshot compare 15/15 byte-identical. Prior-art: skipped — test-assertion bugfix, template-registry entry, and citation renumber on an existing capability; no new capability introduced. --------- Co-authored-by: Test <test@example.com>
artyhoo
added a commit
that referenced
this pull request
Aug 18, 2026
…ws, routing bindings (#1462) * feat(arch): frontier pacing delta in §1 — ADAPT of grill-me/grilling (SSOT #253) Two deltas over the wrapped brainstorming loop: batch prerequisite-settled questions per round (dependent ones stay serial), and enumerate-before-done — the dialogue closes only when every design decision is answered or an explicit operator fork. Superpowers 6.2.0 verified to lack the mechanism (grep over the whole installed plugin: 0 hits; brainstorming pins one-question-per-message). Prior-art: prior-art-evaluations.md#253 (grill-me/grilling, ADAPT — only the tree/frontier mechanic transfers; recommendation-per-question and probe-don't-ask already exist as H1 + T8/T20). * feat(arch): grilling becomes the questioning engine — SSOT #253 lifted ADAPT→ADOPT Operator-ratified design session (D1-D4): the compressed frontier-pacing paraphrase measurably lost upstream's non-blocking probe rule (same-day cold review vs the raw upstream text), so /arch §1 now consumes the grilling skill AS IS via the mattpocock-skills companion plugin (MIT, versioned, precedent #64 brainstorming) and keeps only a thin binding: brainstorming collision resolution, probe routing (T20/§1.5), AskUserQuestion as the round carrier (added to allowed-tools), and the spec's live decision register as the tree surface. Register format lands in the spec-template obligation; SSOT #253 revisit triggers gain a named recording surface + a vendor-copy fallback arm. Prior-art: prior-art-evaluations.md#253 (grill-me/grilling, ADOPT — companion plugin consumed AS IS; paraphrase channel measured lossy, hence the lift from ADAPT). * feat(arch): §2 no-rerank rule — the two altitudes are never merged into one list Adopted from mattpocock code-review's two-axis separation (one axis must not mask the other) during the 2026-08-17 plugin sweep; the §2 seats already report independently, this pins that their findings are presented side by side and never reranked across altitudes. Prior-art: prior-art-evaluations.md#253 (mattpocock-skills plugin sweep; doc-only edit, no new capability). * docs(arch-prep): three-stack skill harmonization — collision map + raw ownership idea Prep-doc for a future /arch design session: enumerates all three skill populations (ours 16, superpowers 6.2.0 14, mattpocock-skills 1.2.3 35 — all 35 read in full), maps collisions per capability area (sharpest: Matt tdd vs SP TDD contradict on refactor placement and seam scoping; diagnosing-bugs vs systematic-debugging claim the same trigger space), lists the six available resolution mechanisms with two unknowns (per-skill disable, routing precedence) as probes, and drafts a one-owner-per-area map plus a live decision register the design session starts from. Prior-art: prior-art-evaluations.md#253 (grilling ADOPT — this prep extends the same three-stack comparison to the full plugin; doc-only, no capability). * docs(arch-prep): §1.5 dependency edges — collision risk weighted by our hard references Measured map of what our machinery hard-references upstream (grep over skills/rules/agents/CLAUDE.md/templates): SDD is the most-referenced upstream and crosses the shipped axis (tier-home.md); requesting-code-review is the highest-risk collision zone because dispatcher/harvest contracts name it while Matt's code-review claims the same trigger space; TDD/debugging collisions carry routing risk only (zero hard edges from us). Also: D-H4 recorded as answered (parallel commit 09569a3 landed mid-session), §7 gains the re-probe-before-edit note. Prior-art: prior-art-evaluations.md#253 (same three-stack comparison; doc-only edit). * docs(arch-prep): DeepWiki pass on both satellites + our-side thinning audit Per-repo DeepWiki interrogation folded in: (a) the measured routable surface is exactly 11 mattpocock skills (user-invoked ones never enter the router — his collision policy is the user/model-invoked split, confirmed live in this session's skill listing); (b) Matt's refactor-out-of-loop is a June-2026 behavioral measurement («agents essentially never performed it»), not doctrine — D-H2 needs our own corpus check; (c) TDD edge CORRECTED: SDD's implementer-prompt.md:36 says bare «TDD», so the collision is transitive-contract grade, not routing-only; (d) superpowers documents Project > Personal > Plugin per-skill shadowing — new mechanism 7, P1 narrowed. New §4.5: our 16 skills audited — nothing deletable, orchestrator is the one THIN candidate (D-H9); D-H10 TDD shadow, D-H11 domain-modeling pairing added to the register. Prior-art: prior-art-evaluations.md#253 (same three-stack comparison; doc-only edit). * docs(arch-prep): slash-only planning skills evaluated as adoption candidates + 4 raw ideas Operator correction folded in: «no collision» ≠ «no value» — the user-invoked planning skills get per-skill adopt/adapt verdicts (wayfinder ADAPT strongest; to-tickets ADAPT mechanizable; to-spec one section; implement REJECT; triage two residues). New §4.6 carries four raw ideas for the design session: (1) the decision map as the multi-session layer over /arch — D4's register lifted to wayfinder shape, map-location sub-fork included; (2) kickoff Blocked-by edges with a pipeline-computed frontier; (3) seams-first Testing-seams slot in the spec template, unlocking the seams half of D-H2; (4) glossary SSOT as a term-ownership generated index — the CONTEXT.md-free adaptation that makes the grilling+domain-modeling pairing adoptable (D-H11 re-opened from defer). Register grows D-H12-D-H14. Prior-art: prior-art-evaluations.md#253 (same three-stack comparison; doc-only edit). * docs(arch): three-stack skill harmonization — design spec + continuation handoff Interview phase complete (frontier empty): P-1..P-6 operator premises, 15-area ownership map ratified (D-H1), decision register D-H0..D-H16 with falsifiers, mechanism set (prune script, CONTEXT.md rule+test, claim reorder, Blocked-by frontier, seams slot, aif plugin), probe register P1/P2a-c/P5-pending/P6, routed-work inventory for §3 exit routing. Awaiting §2 cold two-altitude review (this session's next step). * docs(arch): harmonization spec v2 — round-1 cold-review dispositions landed Both §2 seats returned REVISE (9 + 8 findings). All round-triggering findings repaired in place: §1 restated as two declared lanes (TD-F1); prune radius narrowed to 2 machine-globally-justified items per the operator's F7 answer + --check pre-push drift detector (TD-F2/F7); D-H17 completes the ownership map to all 11 model-invocable skills (TD-F3); setup run re-bucketed attended (TD-F4); D-H5 claim mechanics specified with real machinery + P4 restored (TD-F5, B-M1/M2); §5.6 non-target named (B-M3); /vitest transfer dissolved (B-M4); D-H7/D-H8 counter statuses corrected (B-M5); D-H13 adopts incumbent 'Depends on' spelling (B-M6). New: P-7 premise + D-H18 consumer-axis contour routed out via chip. Full dispositions: §9 v2 entry. * docs(arch): harmonization spec v3 + SSOT #253 counter arm + REJECT rows #254-257 Round-2 delta review (both seats REVISE; all round-1 closures confirmed): - --check channel corrected: owner:'maintainer' section in the pre-push.ts section registry (the file ships to consumers but maintainer sections never compose on a consumer layout, fail-closed) — .husky/pre-push is an exec dispatcher with no sections (convergent TD/B finding). - D-H16 build item DISSOLVED: aif container mounts the host ~/.claude/plugins read-only (docker-compose.override.yml), so the plugin is already visible in-container and the prune/--check cover it by construction (measured round-2). - 'counter armed' made true instead of re-worded: D-H7/D-H8 arm + observation No.0 appended to SSOT #253; REJECT rows #254-257 added (Matt implement, ADR dir, severity-less review model, total-sweep pruning). Spec SS8 item 5 DONE in-session. Dispositions: spec SS9 v3 entry. * docs(arch): harmonization contour GO — round-3 record + routed in-session edits Round 3 (targeted delta): both cold seats GO. Spec header → REVIEWED-GO; §9 round-3 entry (one TD MINOR accepted as recorded limit: container premise rests on untracked local docker-compose.override.yml — covered by D-H16 falsifier). Routed §8 item 2 small edits, per spec: - arch/SKILL.md §1: Testing seams slot added to the spec-template obligation (D-H14; seams-first adopted WITHOUT Matt's refactor placement) - ai-doc/SKILL.md: skill-authoring ownership note (standard=ours, process=SP writing-skills, writing-for-agents=REFERENCE) - rule-tests/SKILL.md: tautological-test anti-pattern REFERENCE note (D-H2 transfer (b)) * docs(arch): close harmonization contour handoff — full tail executed Review GO (3 rounds), exit routing done (3 chips + in-session edits), SSOT appends landed. Handoff retained as closure record; residue = operator actions (spec SS8 item 1) + chip-routed umbrellas. * docs(arch): consumer-axis satellite harmonization — design v1 + round-3 handoff Round-2 /arch contour (D-H18): interview closed, D-C1..D-C8 ratified with falsifiers; three-class collision model (factory CI / install-time census / informed consent); detect+declare+prescribe mechanism recorded. Cold review and exit routing DEFERRED behind the operator-mandated round-3 top-down creative re-examination (P-C3) — handoff written for the fresh session. * docs(arch): harmonization round 3 — registers amended, injected-context bindings land Round 3 (D-C8, operator-mandated P-C3) executed per the handoff's membrane phase order. Operator-axis spec v4: D-H15 SUPERSEDED — the prune apparatus (script / wizard / --check pre-push section / gate P5) dissolved, replaced by CLAUDE.md routing bindings (repo section + ~/.claude/CLAUDE.md machine-global half, written in-session with live operator approval) + meta-kickoff.template.md binding line (D-H10 fallback promoted to primary); D-H8 gains a frontmatter-neutering ladder step. Round-2 spec v2: D-C1 re-cut to the thin form (static census prose + known-pair presence check; inventory-join engine not built), D-C9 fourth-stack admission boundary added (knowledge-work trio stays on SSOT #235). Round-3 handoff closed with the continuation-state staleness correction; keen-shannon merged in (3ae6981) so both specs live on one branch. * docs(arch): P7 recorded — fresh-session bindings probe 2/2 vs P2 baseline Both P2-class triggers flip with the CLAUDE.md bindings in context (headless claude -p, fresh sessions reading the worktree CLAUDE.md from disk). Method finding recorded: in-session subagent probes are invalid for mid-session binding edits — subagents inherit the parent's session-start CLAUDE.md snapshot (measured via a failed in-session probe plus its diagnostic follow-up). * docs(arch): round-3 review R1 — both seats REVISE, dispositions landed Convergent BLOCKER fixed: the meta-kickoff.template.md binding line REMOVED — .claude/skills/pipeline/ ships to consumers via GETFF_SKILLS_ENV (setup.d/lib.sh:59) at the default env profile, so carrier #3 breached the operator-axis membrane while buying no coverage; its removal restores all 8 install fingerprints to the baseline blob. §5.1's «no mechanical channel at all» premise corrected (config layer only; frontmatter + a possible Skill-matched PreToolUse hook priced — P8 records the hook UNVERIFIED: guide claims no Skill matcher, live harness observation contradicts). P7 restated honestly (1 measured flip + 1 post-only confirmation). SSOT #253/ #257 got dated supersession notes (no prune ever executed). Five residual prune assertions re-cut. Consumer spec: population corrected — TWO shipped cc-plugin rows (superpowers + ast-grep, the latter disabled on the operator's own machine); presence check re-keyed on installed_plugins.json + enabledPlugins; D-C5/D-C6 aligned; class-2 own-skills half recorded as prose-only limit. ESCALATED to operator: ast-grep shipping fate (ESC-1) + the detection-wire fork (TD-M2/P8). ~/.claude/CLAUDE.md section relocated to file end (orphaned AIF bullet restored to its heading). * docs(arch): round-3 review R2 — residuals closed, operator answers landed Both R2 seats REVISE with a convergent root cause: R1 edited the surfaces findings argued FROM, not every surface repeating the claim. Closed: §1 premise re-cut to config-layer wording; §1 scope guard now names the pre-round-3 routed edits as verified degrade-safe REFERENCEs; sixth prune assertion re-cut (D-H16); handoff header unmerged label; D-H15 exclusivity hedge; consumer D-C1/§7 re-keyed on installed_plugins.json + enabledPlugins; both §8 inventories carry the escalations. Operator answers recorded live: ESC-1 → retro-census BOTH shipped rows, keep ast-grep on a clean census; P8 → VERIFY via the settings.json hand-off (§8 item 7). Review round cap (2 REVISE) reached — residual state surfaced in §9 instead of a third cold round. * docs(kickoffs): round-3 exit routing — two build umbrellas authored consumer-satellite-contract (thin form: retro-census of BOTH manifest rows per the answered ESC-1, D-C2 principle test, AGENTS.md.template section + parity line, install-registry-keyed presence check) and skill-harmonization-mechanisms (CONTEXT.md pointer-rule test, four-part claim machinery closing probe P4, Depends-on frontier). Both carry host-verify contracts and the PR-pause note: they become dispatchable only when the spec branch merges to staging. * docs(kickoffs): declare the effort-worthiness L0 rigor label on both round-3 kickoffs Principle 40 (`packages/core/principles/40-kickoff-rigor-label.test.ts`) requires every post-cutoff kickoff to carry a `Rigor label … L0 …` line with a legal value. Both round-3 kickoffs were authored without it and failed the gate at push time. - skill-harmonization-mechanisms → `build-and-verify`: all three surviving stages are factory-internal and reversible, each with a live RED/GREEN seam proof. - consumer-satellite-contract → `research-grade`: S3/S4 touch consumer-shipped surfaces (AGENTS.md.template, ./setup), which effort-worthiness §1 reserves for the research-grade contour. Prior-art: skipped — mechanical gate compliance on two doc files, no new capability * docs(arch): P8 CONFIRMED live — detection wire v0 declared; kickoff L0 labels The operator-registered log-only PreToolUse Skill hook fired on a forced model-invoked skill in a fresh headless session (JSON with tool_name=Skill + the skill name in tool_input). The guide-agent's 'skill loading bypasses the tool pipeline' claim is falsified — the P6 failure class again. Measured boundary: user-typed slash commands bypass the Skill tool (invisible to the wire, irrelevant: misroutes are model-invocations). TD-M2 closes — the log IS the v0 misroute detection wire feeding the D-H7 counter; spec §6 P8 + D-H8 + §8 item 7 updated. Both kickoffs gained effort-worthiness L0 rigor labels (parallel session's edit kept as-is). * test(install-sh): regenerate baselines for the three edited shipped skills The branch edits `.claude/skills/{ai-doc,arch,rule-tests}/SKILL.md` — all three are shipped artefacts, so their fingerprints move in every stack baseline that carries them. Captured with `SNAPSHOT_MODE=capture bash tests/install-sh/snapshot.sh`. Diff reviewed before committing (round-3 R1 precedent: an unreviewed template edit turned 8 fingerprints stale): exactly three payload paths changed hash — rule-tests (22 occurrences), arch (16), ai-doc (16) — and every fingerprint file is 1:1 on line count, so no payload entered or left any stack. Prior-art: skipped — snapshot regeneration after a shipped-file edit, no new capability --------- Co-authored-by: Test <test@example.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two cosmetic follow-ups to PR #233, both flagged by the cold-reviewer as MINOR (zero correctness risk). Single-file refactor, no behavioural change.
Changes (1 file)
packages/core/audit-self/audit-ai-docs.test.ts— 24+/21- (~3 line net delta)Scope
fastExecSyncStubinto its consumer describe block. Was module-level after PR refactor(audit-ai-docs): DI execSync for warm-path probeR4 tests + testTimeout 120s ceiling #233 (used in 2 tests insideprobeR4() — execSync call content); moved to the top of that describe block. Removes module-level pollution surface if the test file extends later.Drop stale
L160-171label. The line-number reference in the comment header + describe title was already invalidated by PR refactor(audit-ai-docs): DI execSync for warm-path probeR4 tests + testTimeout 120s ceiling #233's own insertions (theexec(call sites moved to lines 170 + 180). Replaced with stable wording:// ── execSync call content in probeR4() — exec-injection seam ──anddescribe('probeR4() — execSync call content', ...).Verification
npx vitest run packages/core/audit-self/audit-ai-docs.test.ts --reporter=verbose→ 191/191 passtsconfig.json exists but ts-morph missing): still ~1.3s warm (1333ms measured)grep -n 'fastExecSyncStub' packages/core/audit-self/audit-ai-docs.test.ts→ 5 hits, all inside theprobeR4() — execSync call contentdescribe block (no module-level references)grep -n 'L160-171' packages/core/audit-self/audit-ai-docs.test.ts→ 0 hitsScope-out
L167label on the sibling describe (probeR4() — hasTsconfig/hasTsMorph early-return condition (L167)) is intentionally NOT touched. User instruction targetedL160-171only; atomic-umbrella discipline per CLAUDE.md «PR strategy». Can address in a follow-up if desired..claude/rules/, nopackages/core/principles/, noCLAUDE.md, no template, no agent.§1.7 Skipped: pure cosmetic refactor of a test file's helper-scoping + label wording; no forward/backward-check surface exists.Prior-art:trailer required.