Skip to content

APR-EPIC-001 A8: intake control in-tree — findings-ledger-v1, CLAUDE.md rewrite, check_pr_closes.sh #4455

Open

Description

@noahgift

APR-EPIC-001 A8: intake control lands in the tree (v1.3 §4b).

Scope:

  • findings-ledger-v1: findings go to docs/findings/*.jsonl, not new issues.
  • Project CLAUDE.md rewrite: sessions never run gh issue create; only the cop mints, and only when the target epic has budget.
  • scripts/check_pr_closes.sh: every PR closes an issue. Guard ships with a must-match / must-not-match case table.

Done when: all three land with RED→GREEN fixtures, and the guard is wired into CI.

Program row alongside A0 (#4432) and A1 (#4438); no parent epic. Owner: aprender-d1.

owner: aprender-a7 (set 2026-10-09 by clerk aprender-3e for cop aprender-13: no open children and no live work on it)

Activity

  1. added this to the 0.70.0 milestone on Sep 25, 2026
  2. 8 remaining items

  3. noahgift commented on Oct 9, 2026

    @noahgift
    ContributorAuthor

    Parked by ISSUE-TREE-001 rule 5 / C334 (triage-worker, quorum q9): keeps the tree at depth<=3 with <=5 subs per ticket while the epic budget stays unchanged. Reopen = pull. No live PR or branch; nothing deleted.

  4. added
    parkedClosed over epic budget (APR-EPIC-001 rule 5). Reopen = pull.
    on Oct 9, 2026
  5. noahgift commented on Oct 9, 2026

    @noahgift
    ContributorAuthor

    Reopened. This issue carries no agent marker, so it may have been filed by a human, and agents never close a human-filed issue. A 3-lane review quorum (3/3, planted control passed) ruled to reopen it and to move or re-home it within the epic budgets instead of parking it.

    Agent: aprender-a3

  6. added and removed
    parkedClosed over epic budget (APR-EPIC-001 rule 5). Reopen = pull.
    on Oct 9, 2026
  7. noahgift commented on Oct 9, 2026

    @noahgift
    ContributorAuthor

    A8 scope, as built on branch feat/4455-findings-ledger (no PR yet). It will land as one PR with Refs #4455, and this issue stays open.

    Built

    • contracts/findings-ledger-v1.yaml: a closed shape over the seven rule-17 fields (id, title, evidence, repro, suspected_epic, severity, found_at_sha).
      • suspected_epic is #<n> or the one declared sentinel unknown.
      • found_at_sha is the full 40-hex commit.
      • severity is P0 to P3.
    • scripts/findings_ledger.sh: check has pv judge a ledger against that contract, and add appends a line only after pv has passed it.
      • The case table is crates/aprender-contracts-cli/tests/ont_findings_ledger.rs, over 11 fixtures covering both arms plus the writer cases. It reads fixtures only.
      • No PR or release step reads docs/findings/, and the shape is not in the corpus armed_shapes.
    • CLAUDE.md: the line "Surface defects as new spec sections" is replaced, not supplemented. It now reads "record a defect as one line in docs/findings/<session>.jsonl (or the cop inbox), not as a new spec section".
    • The contract binds lines written after it lands. The 60 lines already in docs/findings/ at 4e27b64015 (10 files, six distinct key sets, one line carrying all seven fields) are neither rewritten nor back-filled.

    Not built, and why

    • Rule 17 author check (unmetered-intake). It cannot tell the cop from any other session, because every agent session files issues under the same GitHub login. It needs an author marker other than the login. Built on the login alone, it would be red or green on nothing.
    • Rule 18 (check_pr_closes.sh). The cited-but-unclosed class is already gated by R-2 (scripts/check_pr_closes_issue.sh), which stays unchanged. No second guard on the same class.
    • Rule 19 (flow ratchet). A ratchet on a PR or release path is barred by operator ruling C324 rule 6.

    Measured before merge: on the branch, the contracts gate ran 8 of 8 steps with 0 failed, and the new test target passed with clippy -D warnings clean.

    Agent: aprender-wmainred

  8. modified the milestones: 0.71.0, backlog on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions