Summary
This daily SPDD plan covers 5 specification files (rotation index 15–19 of 30). The batch includes the Security Architecture Validation doc, the Security Architecture Specification itself, the AI Credits Specification, the Bash Command Parser Specification, and the Checkout Behavior Specification. Key gaps span missing safeguard tests, incomplete sync notes, and several REASONS Canvas sections that need strengthening — particularly in Norms, Safeguards, and Sync Follow-ups.
Priority Work Queue
| Priority |
Task |
Spec |
| P0 |
Add missing checkout-manifest rejection unit tests (absolute path / workspace escape) |
checkout-behavior-specification.md |
| P0 |
Document DriftRecord compliance test coverage in awf-config-sources-spec |
specs/awf-config-sources-spec.md |
| P1 |
Strengthen Norms section in AI Credits spec (SLA for catalog staleness) |
ai-credits-specification.md |
| P1 |
Add Safeguards subsection to Bash Command Parser spec (empty-result default-deny under-specified) |
bash-command-parser-specification.md |
| P1 |
Add Sync Notes entry to Security Architecture spec (validation doc cross-reference) |
security-architecture-spec.md |
| P2 |
Add Operations ordering note to Checkout Behavior spec |
checkout-behavior-specification.md |
| P2 |
Add Entities section to AI Credits spec (AICRecord, PricingCatalogEntry, InvocationRecord) |
ai-credits-specification.md |
| P2 |
Verify canonical cross-links in deprecated scratchpad safe-outputs spec are current |
scratchpad/safe-outputs-specification.md |
SPDD Checklist
Per-Spec Findings
specs/security-architecture-spec-validation.md — Validation doc (index 15)
/spdd-analysis
- Goals: Cross-reference security spec requirements against
.lock.yml and JS implementation.
- Status: Revalidated 2026-07-15; all major sections verified except sandbox isolation (partial).
- Risks: Validation is manual and snapshot-based — no automated re-run schedule.
- Missing constraints: No CI job runs this validation; drift could accumulate silently.
/spdd-reasons-canvas
| Section |
Gap |
| Requirements |
No traceability matrix linking spec requirement IDs to validation evidence |
| Safeguards |
No behavior specified when validation fails to locate a .lock.yml |
| Norms |
No staleness SLA for re-running validation |
| Sync |
No explicit sync trigger on spec change |
/spdd-generate
- Add a
### Sync Trigger note: re-run whenever security-architecture-spec.md changes.
/spdd-sync
- Cross-link to the spec
### Change Log so future spec entries prompt a revalidation run.
specs/security-architecture-spec.md — Security Architecture Spec v1.0.0 (index 16)
/spdd-analysis
- Goals: Formal W3C-style spec for defense-in-depth security (7 layers, 3 conformance classes).
- Status: Candidate Recommendation; comprehensive.
- Risks: Sandbox isolation (SG-05) marked partially evidenced; no Sync Notes back-reference to companion validation doc.
/spdd-reasons-canvas
| Section |
Gap |
| Sync |
No reference to specs/security-architecture-spec-validation.md |
| Norms |
SG-05 sandbox isolation note should state host-visibility proof is outstanding |
/spdd-generate
- Add
### Sync Notes section pointing to companion validation document.
/spdd-sync
- Trigger policy: Change Log additions MUST prompt a validation doc re-run.
docs/src/content/docs/specs/ai-credits-specification.md — AI Credits v1.4.0 (index 17)
/spdd-analysis
- Goals: Define AIC unit,
models.json pricing catalog format, Copilot billing alignment.
- Status: Draft, well-structured; 3 compliance levels; catalog sync addressed in §5.
- Risks: No
Entities section — AICRecord, InvocationRecord, PricingCatalogEntry used throughout but never formally defined. Catalog staleness SLA absent from §5.
- Ambiguities: §3.3 references formula but no entity model; §5 sync interval is implicit.
/spdd-reasons-canvas
| Section |
Gap |
| Entities |
Missing: AICRecord, PricingCatalogEntry, InvocationRecord |
| Norms |
Catalog-staleness SLA not defined in §5 |
| Operations |
Catalog fetch vs computation ordering is implied, not explicit |
/spdd-generate
- Add §3.0a Entities subsection with entity table and cross-reference from §3.3.
- Add catalog-staleness SHOULD norm to §5.
/spdd-sync
- Add sync note: when
models.json schema changes, §8 compliance tests MUST be updated in the same PR.
docs/src/content/docs/specs/bash-command-parser-specification.md — Bash Command Parser v1.1.0 (index 18)
/spdd-analysis
- Goals: Formalize bash command parser for permission gating.
- Status: Draft; conformance classes, grammar, and semantics well-covered.
- Risks: Default-deny norm is in §2.2 Class I but §11 Security Considerations does not consolidate it. Parse-error behavior is unspecified.
/spdd-reasons-canvas
| Section |
Gap |
| Safeguards |
§11 lacks a Safeguards subsection consolidating deny-on-error norms |
| Norms |
Parse-error → deny path not normatively stated |
| Sync |
No sync note linking to actions/setup/js/ implementation |
/spdd-generate
- Strengthen §11 with
### Safeguards covering both empty-list default-deny and parse-error default-deny.
/spdd-sync
- Add sync note: implementation changes in
actions/setup/js/ MUST trigger a spec version bump.
docs/src/content/docs/specs/checkout-behavior-specification.md — Checkout Behavior v1.0.0 (index 19)
/spdd-analysis
- Goals: Define normative checkout compilation for activation, agent, safe_outputs jobs.
- Status: Working Draft; comprehensive on token precedence, sparse/shallow, trial mode.
- Risks: §3.4 checkout-manifest path-escape rejection has no compliance test ID. §4 mutual-exclusion rule for
github-token + github-app lacks a normative error message.
/spdd-reasons-canvas
| Section |
Gap |
| Safeguards |
Token-to-disk prohibition stated but no MUST-level norm with test ID |
| Structure |
§7 compliance tests do not cover path-escape rejection |
| Norms |
Compiler error message format for mutual-exclusion violations unspecified |
| Operations |
Entry merge precedence table lacks multi-checkout ordering note |
/spdd-generate
- Add
T-CB-xxx compliance test ID for path-escape rejection to §7.
- Specify normative compiler error message in §4 for auth field conflict.
/spdd-sync
- Add sync note: any change to
pkg/workflow/ checkout generation MUST include a §3 table update and new test ID in §7.
Sync Follow-ups
specs/security-architecture-spec.md → add ### Sync Notes cross-referencing companion validation doc; assign to next available maintainer.
docs/src/content/docs/specs/ai-credits-specification.md → models.json schema changes MUST trigger §8 compliance test update in the same PR.
docs/src/content/docs/specs/bash-command-parser-specification.md → actions/setup/js/ parser changes MUST trigger a spec version bump.
docs/src/content/docs/specs/checkout-behavior-specification.md → pkg/workflow/ checkout compilation changes MUST include §3 table update + new §7 compliance test ID.
specs/security-architecture-spec-validation.md → add CI trigger: re-run validation whenever security-architecture-spec.md Change Log receives a new entry.
Context
- Files reviewed (rotation 15–19 of 30):
specs/security-architecture-spec-validation.md
specs/security-architecture-spec.md
docs/src/content/docs/specs/ai-credits-specification.md
docs/src/content/docs/specs/bash-command-parser-specification.md
docs/src/content/docs/specs/checkout-behavior-specification.md
- Next rotation: will start at index 20 (5 files remaining before wrap-around at 30).
- Workflow run: §29514874303
References:
Generated by 📋 Daily SPDD Spec Planner · 51.8 AIC · ⌖ 8.01 AIC · ⊞ 4.8K · ◷
Summary
This daily SPDD plan covers 5 specification files (rotation index 15–19 of 30). The batch includes the Security Architecture Validation doc, the Security Architecture Specification itself, the AI Credits Specification, the Bash Command Parser Specification, and the Checkout Behavior Specification. Key gaps span missing safeguard tests, incomplete sync notes, and several REASONS Canvas sections that need strengthening — particularly in Norms, Safeguards, and Sync Follow-ups.
Priority Work Queue
checkout-behavior-specification.mdDriftRecordcompliance test coverage in awf-config-sources-specspecs/awf-config-sources-spec.mdNormssection in AI Credits spec (SLA for catalog staleness)ai-credits-specification.mdSafeguardssubsection to Bash Command Parser spec (empty-result default-deny under-specified)bash-command-parser-specification.mdSync Notesentry to Security Architecture spec (validation doc cross-reference)security-architecture-spec.mdOperationsordering note to Checkout Behavior speccheckout-behavior-specification.mdEntitiessection to AI Credits spec (AICRecord, PricingCatalogEntry, InvocationRecord)ai-credits-specification.mdscratchpad/safe-outputs-specification.mdSPDD Checklist
docs/src/content/docs/specs/checkout-behavior-specification.md— §3.4 checkout-manifest path-escape rejection lacks a compliance test ID; assignT-CB-xxxand add to §7. Done when test ID is present in §7.docs/src/content/docs/specs/checkout-behavior-specification.md— Safeguards section is thin: add explicit MUST-level norm thatsafe-outputs-github-apptokens MUST NOT be written to disk before the safe_outputs job begins.docs/src/content/docs/specs/ai-credits-specification.md— add an Entities subsection (§3.0a) definingAICRecord,PricingCatalogEntry, andInvocationRecordwith required fields; done when entities table exists and is cross-referenced from §3.3.docs/src/content/docs/specs/ai-credits-specification.md— Norms gap: §5 lacks a catalog-staleness SLA. Add a SHOULD-level norm: catalog older than 7 days SHOULD trigger a re-sync warning. Done when norm is present in §5.docs/src/content/docs/specs/bash-command-parser-specification.md— add### Safeguardsto §11 Security Considerations: (a) empty-list result MUST produce default-deny, (b) parse errors MUST NOT silently allow execution. Done when both norms have MUST-level language.specs/security-architecture-spec.md— add### Sync Notessection cross-referencingspecs/security-architecture-spec-validation.mdand noting revalidation date 2026-07-15. Done when section exists.specs/awf-config-sources-spec.md— §6.5 definesDriftRecordbut no compliance test file tracks it; createspecs/awf-config-sources-compliance/README.mdlisting DriftRecord conformance test IDs. Done when file exists referencing §6.5.docs/src/content/docs/specs/checkout-behavior-specification.md— §4 statesgithub-tokenandgithub-appMUST be mutually exclusive but does not specify compiler error message format; add normative error message spec to §4. Done when error format is defined.Per-Spec Findings
specs/security-architecture-spec-validation.md — Validation doc (index 15)
/spdd-analysis
.lock.ymland JS implementation./spdd-reasons-canvas
.lock.yml/spdd-generate
### Sync Triggernote: re-run wheneversecurity-architecture-spec.mdchanges./spdd-sync
### Change Logso future spec entries prompt a revalidation run.specs/security-architecture-spec.md — Security Architecture Spec v1.0.0 (index 16)
/spdd-analysis
/spdd-reasons-canvas
specs/security-architecture-spec-validation.md/spdd-generate
### Sync Notessection pointing to companion validation document./spdd-sync
docs/src/content/docs/specs/ai-credits-specification.md — AI Credits v1.4.0 (index 17)
/spdd-analysis
models.jsonpricing catalog format, Copilot billing alignment.Entitiessection — AICRecord, InvocationRecord, PricingCatalogEntry used throughout but never formally defined. Catalog staleness SLA absent from §5./spdd-reasons-canvas
/spdd-generate
/spdd-sync
models.jsonschema changes, §8 compliance tests MUST be updated in the same PR.docs/src/content/docs/specs/bash-command-parser-specification.md — Bash Command Parser v1.1.0 (index 18)
/spdd-analysis
/spdd-reasons-canvas
actions/setup/js/implementation/spdd-generate
### Safeguardscovering both empty-list default-deny and parse-error default-deny./spdd-sync
actions/setup/js/MUST trigger a spec version bump.docs/src/content/docs/specs/checkout-behavior-specification.md — Checkout Behavior v1.0.0 (index 19)
/spdd-analysis
github-token+github-applacks a normative error message./spdd-reasons-canvas
/spdd-generate
T-CB-xxxcompliance test ID for path-escape rejection to §7./spdd-sync
pkg/workflow/checkout generation MUST include a §3 table update and new test ID in §7.Sync Follow-ups
specs/security-architecture-spec.md→ add### Sync Notescross-referencing companion validation doc; assign to next available maintainer.docs/src/content/docs/specs/ai-credits-specification.md→models.jsonschema changes MUST trigger §8 compliance test update in the same PR.docs/src/content/docs/specs/bash-command-parser-specification.md→actions/setup/js/parser changes MUST trigger a spec version bump.docs/src/content/docs/specs/checkout-behavior-specification.md→pkg/workflow/checkout compilation changes MUST include §3 table update + new §7 compliance test ID.specs/security-architecture-spec-validation.md→ add CI trigger: re-run validation wheneversecurity-architecture-spec.mdChange Log receives a new entry.Context
specs/security-architecture-spec-validation.mdspecs/security-architecture-spec.mddocs/src/content/docs/specs/ai-credits-specification.mddocs/src/content/docs/specs/bash-command-parser-specification.mddocs/src/content/docs/specs/checkout-behavior-specification.mdReferences: