8000 T68 — Carry the handle jti into the audit record · Issue #2576 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T68 — Carry the handle jti into the audit record #2576

Closed

Description

@norrietaylor

Task

slice size difficulty model who estimated lines
Round-two conditions closed M routine standard an agent 210 (110 code, 100 tests)

A refused store member (store_handle_invalid) and a redeemed one both write an audit record that carries the handle's jti.

Covers:

  • BEP-067

Layers:

  • audit:
    • crates/bep/src/audit.rs: Decision and Record gain jti: String, empty when the handle does not parse
    • crates/bep/src/redeemer.rs: facts() carries handle::Read::jti into the verdict (Gatehouse §6.10 line 842)
    • crates/bep/src/forward.rs: Verdict::Admit and Verdict::Refuse carry the jti, and record and audit_refusal write it into the Decision (stale layers amended 2026-10-26 by the epic owner's rule)
    • crates/bep/src/control.rs: its Decision literal sets an empty jti
    • crates/bep/src/proxy.rs: its Decision literal sets an empty jti
    • crates/minimal/src/cmd/box_audit.rs: min box audit shows the jti, and the test helper's Decision sets it
    • cargo nextest run -p bep a_store_handle_audit_record_carries_its_jti

Waits on:

Plan block
### T68 — Carry the handle jti into the audit record
  slice: S10
  kind: task
  covers: BEP-067
  size: M
  est: 110 code, 100 tests
  executor: agent
  difficulty: routine
  model: standard
  diagnostics: `min box audit <box>` shows the handle's `jti` on each store-handle record, empty when the handle does not parse
  observability: the audit record carries `jti`
  layers:
    - audit:
      - crates/bep/src/audit.rs: `Decision` and `Record` gain `jti: String`, empty when the handle does not parse
      - crates/bep/src/redeemer.rs: `facts()` carries `handle::Read::jti` into the verdict (Gatehouse §6.10 line 842)
      - crates/bep/src/forward.rs: `Verdict::Admit` and `Verdict::Refuse` carry the `jti`, and `record` and `audit_refusal` write it into the `Decision` (stale layers amended 2026-10-26 by the epic owner's rule)
      - crates/bep/src/control.rs: its `Decision` literal sets an empty `jti`
      - crates/bep/src/proxy.rs: its `Decision` literal sets an empty `jti`
      - crates/minimal/src/cmd/box_audit.rs: `min box audit` shows the `jti`, and the test helper's `Decision` sets it
      test: cargo nextest run -p bep a_store_handle_audit_record_carries_its_jti
  produces: none
  consumes: none
  proof: A refused store member (`store_handle_invalid`) and a redeemed one both write an audit record that carries the handle's `jti`.
  depends on:
    - blocked by #2540

Generated by Claude Code

Activity

  1. added
    kind:featureA new feature or capability. Applied by the inbox-route classifier.
    on Oct 25, 2026
  2. minimal-foundry commented on Oct 25, 2026

    @minimal-foundry
    Contributor

    Done. #2596 merged.

    branch agent/2576-carry-the-handle-jti-into-the-audit-record · epic #1501 · PR #2596

    round outcome job
    1 pushed f08da027
    2 pushed 7db25b7e
    3 pushed 327ad0e4

    Updated 2026-10-26T08:30:06.067Z.

  3. norrietaylor commented on Oct 25, 2026

    @norrietaylor
    MemberAuthor

    /implement

  4. norrietaylor commented on Oct 26, 2026

    @norrietaylor
    MemberAuthor

    The epic owner added this residual to the plan on 2026-10-26 as T68 (slice S10). Its body is now the rendered task. The residual text it replaces is kept below.

    Residual text

    Residual from T60 #2568, arch C1 (ruling), epic #1501.

    Gatehouse §6.10 line 842 makes the handle's jti the audit correlation id. Record in crates/bep/src/audit.rs has no jti field, and facts() in crates/bep/src/redeemer.rs keeps read.identifier and drops read.jti. #2568 is the first change that lets a store member reach that audit.

    What closes this

    • Record gains jti: String, empty when the handle does not parse.
    • redeemer.rs fills it from handle::Read::jti through Facts.
    • A test pins that a refused store member (store_handle_invalid) and a redeemed one both audit the handle's jti.

    Generated by Claude Code

  5. changed the title [-]Carry the handle jti into the BEP audit record (Gatehouse §6.10 line 842)[/-] [+]T68 — Carry the handle jti into the audit record[/+] on Oct 26, 2026
  6. added
    kind:taskA task the plan skill rendered; the body carries ## Task
    size:SUnder 200 net lines; one PR
    model:standardA standard model: work that needs care, or routine work that is large
    and removed
    kind:featureA new feature or capability. Applied by the inbox-route classifier.
    on Oct 26, 2026
  7. added
    needs-humanAn agent handed off; a human must act, then clear this label. Set by defer and handoffs.
    on Oct 26, 2026
  8. added
    size:M200 to 500 net lines; one PR
    and removed
    needs-humanAn agent handed off; a human must act, then clear this label. Set by defer and handoffs.
    size:SUnder 200 net lines; one PR
    on Oct 26, 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

    Labels

    kind:taskA task the plan skill rendered; the body carries ## Taskmodel:standardA standard model: work that needs care, or routine work that is largesize:M200 to 500 net lines; one PR

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0