Repository navigation
SDAD v3.2.4
Release date: 2026-09-20
Tag: v3.2.4
This patch adds optional verification receipt collection and registration
previews, and clarifies completion guidance when linked open work remains.
Existing project controls and installed adapter source bytes remain compatible.
State v2 And Packet Identity
State v2 fields, status values, execution_scope: unit | packet and
validation_for are unchanged. No automatic migration or new acceptance state
is introduced. Required external criteria remain incomplete until their evidence
exists; separate follow-ups remain visible beside the verified software scope.
SDAD Doctor 3.2
Doctor remains checkout-only and read-only:
python <SDAD_CHECKOUT>/scripts/sdad.py doctor [PROJECT_ROOT] --require-version 3.2.4 [--json] [--strict]
State-v1 unguarded calls retain report schema 1; guarded or state-v2 calls retain
report schema 2. Finding IDs, severities and exit-code rules are unchanged.
The packet.open-todo and packet.open-finding remediation text now directs
agents to reconcile open items with approved acceptance criteria and executed
evidence. It does not advise changing status or hiding work to silence a warning.
Strict Doctor still fails on warnings; a gate requiring a clean result remains
blocked until legitimately resolved.
Handoff, INDEX, And Ledger Consistency
current_handoff remains the declared resume checkpoint, not live authority.
The operating rules now explicitly separate structurally linked open work from
the decision whether an item is a required external condition or a follow-up.
That decision belongs with approved scope and evidence; Doctor does not infer it
from prose. Existing TODO identities and evidence links are preserved.
Targeted Routing
routed_docs remains an eligible selection set. The optional
scripts/sdad_evidence.py runs only an explicitly
selected argv and records bounded source identities, command outcome and
optionally retained log bytes. It never discovers commands from declarations or
updates state/TODO. The chosen command can write files; the collector is not a
sandbox. Failed, timed-out, interrupted and failed-to-start attempts stay records.
The separate --preview-connection RECEIPT.json mode reads one chosen receipt
and existing State v2, returning a minimal registration suggestion or reporting
that it is already registered. It does not write or execute. Preview and proposed
state both respect Inspector's 64 KiB/500-line bounds, and unsafe metadata paths
are rejected. See the receipt guide.
Migration Preview And Upgrade Compatibility
The existing migration read-only preview is preserved. Receipt registration is
also a read-only preview; adoption remains an explicit project edit.
The seven Mini/adapter sources in install-sources.json are unchanged, so this
release reuses immutable source commit
04a3e24569758237b702c5a2fbc6094a186d6cb0 and its Git-blob SHA-256 values.
That commit identifies only those reused source files, not the entire 3.2.4
checkout, updated operating rules, Doctor or receipt tool implementation.
Inspector 0.0.5 continues to bundle its separately authenticated Doctor 3.2.3
engine. It can read the optional receipt v1 format; the collector and connection
preview run from a Protocol 3.2.4 source checkout. This does not claim that the
new Doctor 3.2.4 remediation text is included in that bundled 3.2.3 engine.
Verification Evidence
The targeted local Windows receipt collector/preview run executed 23 tests:
22 passed and one symbolic-link privilege case was skipped. It covered explicit
argv behavior, failed outcomes, descendant cleanup, source/log bounds,
registration without writes, format preservation and state-budget boundaries.
Repository validation and generated-surface synchronization are release gates;
the release's CI records report their actual platform results separately.
Shared receipt compatibility passed 47 cross-checkout cases, including the actual
preview CLI, applying its suggestion in temporary fixtures, Inspector reads and
preview idempotence. It caught and corrected .envrc/.environment collector
path-policy drift. Final review also rejected an empty executable name before
output creation while preserving valid later empty arguments; the collector's
13-test follow-up passed 12 and skipped one host-restricted symbolic-link case.
The full local suite before this final two-test addition ran 519 tests, with
515 passing and four host-restricted skips. Hosted CI tests the final commit.
These fixtures exercise Protocol/Inspector acceptance boundaries without
coupling their runtime implementations. The earlier
fresh-context task benchmark belongs to the 3.2.3 evidence record; it is not a
measurement of this patch. A bounded actual-work evaluation is reported separately
and must not be generalized to months of stability or overall productivity.
Known Limitations
Doctor green does not prove correctness, productivity, or owner acceptance.
Receipts are unsigned observations: exit zero does not establish requirement
coverage, matching hashes do not authenticate the author, and undeclared
dependencies or reverted intermediate changes are not observed. Log capture is
opt-in and bounded; a retained-prefix digest does not cover omitted output.
POSIX descendants that deliberately detach can escape process-group cleanup.
Connection previews must be recreated after state/receipt changes. No global
installation, automatic approval, external execution authority or State v3 is
introduced.