Repository navigation
docs(specs): name the handle jti in spec 24 BEP-039 (T85) - #2641
Conversation
BEP-039 and the BEP-040 property now list the handle's jti, the audit correlation id. On a refusal the jti is the handle's unverified claim.
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
Spec lint
Advisory. None of this blocks the merge; the review decides. Advisory, and never a merge gate. Linter: |
|
Approved: no findings at Nothing to do. Verdict APPROVE, posted as a comment: the App cannot review its own pull request; the check and the label carry it. Clobber: none. |
There was a problem hiding this comment.
arch-review: PASS · the full ruling
BEP-039 now names the handle's jti, and the BEP-040 property includes it. Gatehouse §6.10 line 842 makes jti the audit correlation id and audits a refused store handle. The new text agrees with that line and with Record::jti in crates/bep/src/audit.rs. There are no conditions. A note for later: the test a_store_handle_audit_record_carries_its_jti cites BEP-067, and BEP-039's verify: line does not name it.
Ruled at 95cedea against gominimal/arch@109541a48c31 by claude-opus-5-5.
There was a problem hiding this comment.
Own review at 95cedea. BEP-039 now lists the handle's jti among the record fields, and the comment says it is empty with no handle or an unparsable one, and on a refusal the unverified claim. That matches Decision::jti and Record::jti in crates/bep/src/audit.rs and the redeemer's read of the claim (crates/bep/src/redeemer.rs). BEP-040's property now holds the jti fixed too. The verify lines name tests that exist on main.
Generated by Claude Code
There was a problem hiding this comment.
Babysitter approval at 95cedea: every merge gate passes at this head (arch PASS at 95cedea, zero open threads, every lane aggregator green). Squash title docs(specs): name the handle jti in spec 24 BEP-039 (T85) and the squashed message pass commitlint. Queued for squash merge.
Generated by Claude Code
T85 — Name the handle jti in spec 24 BEP-039
slice: S12
kind: task
covers: BEP-039
size: S
est: 0 code, 60 tests
executor: agent
difficulty: routine
model: standard
diagnostics: none: the task changes only the spec text, so no tool prints anything new.
observability: none: the task changes only the spec text, so no trace, metric or log line changes.
layers:
- spec:
- docs/specs/24-spec-box-egress-proxy/24-spec-box-egress-proxy.md: BEP-039's field list and the property under it name
jti, the handle's correlation id, which on a refusal is the unverified claim (Gatehouse §6.10 line 842; #2600)test: cargo nextest run -p bep a_store_handle_audit_record_carries_its_jti
produces: none
consumes: none
proof: BEP-039 lists every field of a decision record, the handle's jti included.
depends on:
- blocked by #2576
Generated by Claude Code
Proof
In spec 24, BEP-039 now lists every field of a decision record, the handle's
jtiincluded. Its comment says the jti is empty with no handle or an unparseable handle, and is the unverified claim on a refusal. The BEP-040 property under it names thejtias part of the BEP-039 field set.Notes from the agent: The code and the named test already existed at the branch head (crates/bep/src/audit.rs, crates/bep/src/redeemer.rs), so only the spec text changed. The test's own comment cites BEP-067 instead of BEP-039. I left it unchanged to keep the diff to the spec. I could not run
just lint-prosebecause vale is not installed on this box.Tests
cargo nextest run -p bep a_store_handle_audit_record_carries_its_jtiVerify
min task run agent-verifyexited 101 under rustc 1.98.1, which the repository does not pin (1.99.0 in rust-toolchain.toml); the PR is not a draft on that alone — CI, which honours the pin, is the gate.Closes #2600