Conversation
PR #921 landed `tools/github/poll-pr-gate.ts` as the executable implementation of the poll-the-gate rule. Per Amara's blade — *"the memory file should stop being the implementation; it should point to the implementation"* — adding a top-of-file pointer block so future readers reach the script first and the rule-documentation second. The prose body still documents *why* the rule exists and *what* the lane-state report should contain. The script documents *how* the rule is mechanically applied. Both are needed; the pointer makes the structural relationship explicit. Composes with Aaron's substrate-IS-product framing — the script IS substrate-quality work, not a refutation of the substrate- product. The factory's tooling-product (executable scripts) and substrate-product (memory rules) are siblings under the same discipline. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the “poll the gate” memory entry to explicitly treat the executable script as the operational implementation, keeping the prose as rationale/documentation.
Changes:
- Adds a top-of-file blockquote linking to
tools/github/poll-pr-gate.tsand describing how to run it for the structured gate report.
CI's `memory-index-integrity` workflow caught that my prior commit edited a `memory/*.md` file (poll-the-gate) without a paired MEMORY.md update. Per the workflow's NSA-001-incident logic, any add-or-modify to a top-level `memory/*.md` file requires a paired MEMORY.md edit in the same PR. Updated the poll-the-gate MEMORY.md row to note the operationalization at `tools/github/poll-pr-gate.ts` (PR #921), which is the substantive content my prior commit added to the memory file body. Paired-edit now satisfies the integrity check. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
CI's `lint memory/MEMORY.md for duplicate link targets` flagged that `project_laptop_only_source_integration_*.md` was linked from two MEMORY.md rows (line 7's no-copy "Composes with" link + line 110's canonical 2026-04-27 entry). The line-110 entry is the canonical row for that file. Line 7's link was a "Composes with" pointer added in PR #916's index entry. Removed the link wrapping at line 7, kept the prose pointer ("the laptop-only-source integration project task — canonical link below"). Single canonical link target preserved. This duplicate predated PR #922 (came in via PR #916's MEMORY.md edit) but the lint check fired now because PR #922 touches MEMORY.md and triggers a re-scan. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot caught that my MEMORY.md addendum referenced `tools/github/poll-pr-gate.ts` as plain code-text rather than a markdown link. Made it a clickable link ([\`tools/github/poll-pr-gate.ts\`](../tools/github/poll-pr-gate.ts)) matching the convention used in the memory-file body's pointer block. Future readers can jump directly from the index entry to the implementation. Note: the link target is a `.ts` file, not a `.md` — the duplicate-link lint counts only `.md` link targets, so this addition doesn't re-introduce the duplicate-link issue from the earlier round. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Resolving the 3 threads with status:
|
* research: preserve Ani + Alexia v1 feedback packets verbatim Both peer-AI reviewers responded after PR #921 (poll-pr-gate v0) + PR #922 (memory-points-at-script) merged. Per Otto-363 substrate-or-it-didn't-happen, preserving both packets verbatim at `docs/research/2026-04-30-amara-poll-pr-gate-v1-hardening.md`. Both packets predominantly "what's working" with smaller actionable findings. Substantive items overlap with PR #923 (v1 hardening, already on main) or queued under existing tasks: - "submit-nuget non-required classification" (both reviewers) — shipped in PR #923. - "Dot-tick discipline still leaky" (Ani #1) — accepted as behavior change going forward (no code, no substrate; commitment). - "Pre-merge mechanical guards" (Ani #3) — persona-name scanner + fixture-name validator composed with task #350 (Otto-357 mechanized auditor) and task #355 (poll-the-gate matrix coverage). Defer per substrate-rate. - "MEMORY.md duplicate-link timing" (Ani #4) — audit candidate; the check fired on PR #922 but missed PR #916. Defer. - "Task list at 58 open" (Ani #5) — pending-task audit overdue; composes with task #321 recovery lane. - "Thread categorization" + "intelligent compaction" (Alexia) — research-grade, not yet operational. No Insight-block commentary added per the discipline accepted in the prior Claude.ai packet absorption: produce the work, let the diff carry the evidence. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix(research): mark check-github-status path as in-flight at PR #924 (Copilot) Same in-flight-xref pattern caught earlier this session — code-span path implied existence-on-main, but the file is on PR #924's branch. Reworded to make the in-flight status explicit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * research: preserve Deepseek session-arc retrospective packet Final feedback packet from Deepseek post-PR #924 merge. Most findings already shipped: - submit-nuget transient → PR #923 (v1 hardening, required-vs- non-required classification) - MEMORY.md merge-conflict tax → PR #920 (merge=union driver) - Stale project-file internals cleanup → B-0112 P2 row filed New finding: 30+ dot threshold for deferred-task re-audit (not new lanes, just already-scoped tiny fixes). Composes with Ani's strict-enforcement framing. Per Otto-363 substrate-or-it-didn't-happen. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Summary
Closes the script-supersedes-prose loop opened in PR #921. The poll-the-gate memory file now has a top-of-file pointer to
tools/github/poll-pr-gate.ts, telling readers to use the executable as the operational implementation and treat the prose as the rule-documentation/why.What's load-bearing
Per Amara's blade from the 2026-04-30 5-AI peer-reviewer convergence:
The prose body still documents the rule's reasoning and the lane-state report shape. The script documents the mechanical implementation. Both are needed — the pointer makes the relationship explicit.
Composes with
Test plan
🤖 Generated with Claude Code