You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Daily SPDD rotation processed 5 specs (files 10–14 of 19 in the tracked rotation list): specs/replace-label-spec.md, specs/safe-output-outcome-evaluation.md, specs/safe-outputs-scratchpad-removal.md, specs/security-architecture-spec-summary.md, and specs/security-architecture-spec-validation.md. These are mature, actively-maintained specs. Findings are mostly maintenance-grade: a hard scratchpad-removal deadline is now unblocked, two compliance-matrix gaps remain in the security architecture validation, and the outcome-evaluation spec has several not-started/partial evaluators that diverge from the "Implementation Priority" ordering.
Priority Work Queue
P0: Delete scratchpad/safe-outputs-specification.md — zero remaining references confirmed (grep -r "scratchpad/safe-outputs-specification.md" docs/ .github/ returned no matches). Deadline 2026-09-21 is approaching.
P1: Close the two open compliance-matrix gaps in specs/security-architecture-spec-validation.md (§12): Sandbox Isolation runtime host-visibility probe (tracked in #48686) and Threat Detection capability evidence (T-TD-002 to T-TD-007).
P1: Add dedicated evaluators for not-started outcome types (autofix_code_scanning_alert, create_code_scanning_alert, link_sub_issue, update_project, update_release) that currently rely on evalGenericSticky fallback, per specs/safe-output-outcome-evaluation.md.
P2: Reconcile specs/safe-output-outcome-evaluation.md "Implementation Priority" list (which only names 5 types) with the full 30-row acceptance map — update or remove the stale priority section.
P2: Add a §12-style compliance test matrix cross-reference note in specs/replace-label-spec.md §9 pointing at any RL-0xx requirements lacking dedicated Go/JS test evidence.
SPDD Checklist
/spdd-sync: Delete scratchpad/safe-outputs-specification.md and remove its removal-checklist entry from specs/safe-outputs-scratchpad-removal.md once deleted. Done when: the scratchpad file no longer exists and a repo-wide grep for its path returns zero hits.
/spdd-generate: In pkg/cli/outcome_eval.go, implement dedicated evaluators for update_project and update_release (currently evalGenericSticky fallback per the acceptance map in specs/safe-output-outcome-evaluation.md). Done when: both types have named evaluator functions and matching entries change from "not-started" to "implemented"/"partial" in the spec's status table.
/spdd-generate: In actions/setup/js/evaluate_outcomes.cjs, add type-specific logic for link_sub_issue and autofix_code_scanning_alert to replace the generic fallback noted in specs/safe-output-outcome-evaluation.md rows 23 and 21. Done when: the JS implementation-areas column for those rows names dedicated functions instead of "generic fallback".
/spdd-analysis: Re-audit specs/security-architecture-spec-validation.md §12 Sandbox Isolation row against issue #48686 status; update the row's classification if the runtime host-visibility probe has landed. Done when: the row cites concrete test/evidence IDs or explicitly confirms the gap remains open with a current status note.
/spdd-generate: Add dedicated evidence entries for T-TD-002 through T-TD-007 (prompt injection, secret leaks, malicious patches, custom prompt, engine override, workflow-failure-on-detection) in specs/security-architecture-spec-validation.md §5/§12, referencing concrete test names in pkg/workflow/. Done when: all six Threat Detection test IDs have named test evidence in the matrix.
/spdd-reasons-canvas: Add a "Norms" subsection to specs/replace-label-spec.md §8 restating RFC 2119 keyword usage consistent with specs/safe-output-outcome-evaluation.md's Norms section, since §8 currently states requirements (RL-0xx) without an explicit terminology preface. Done when: §8 opens with an RFC 2119 interpretation note matching the style used elsewhere in the repo's safe-output specs.
/spdd-sync: Update specs/safe-output-outcome-evaluation.md "Implementation Priority" section to either list all 30 types by current status or remove the stale 5-item priority list now that most types have evaluators. Done when: the section reflects the current not-started/partial/implemented counts from the status table above it.
/spdd-generate: Add a Safeguards subsection to specs/security-architecture-spec-summary.md documenting fail-secure behavior for the two partially-evidenced compliance categories (Sandbox Isolation, Threat Detection) so summary consumers see the residual risk without reading the full validation doc. Done when: a "Known Gaps" or "Safeguards" callout exists in the summary linking to §12 of the validation doc.
Per-Spec Findings
specs/replace-label-spec.md — REASONS canvas
Requirements: Well-formed W3C-style spec with numbered RL-0xx requirements across an 8-stage processing pipeline (schema validation → gate checks → REST update). Strong.
Entities: Configuration schema and message schema are both defined with field tables (§4.1–4.2). Strong.
Approach: Atomic single-REST-call design vs. sequential remove/add is clearly motivated (race-window elimination). Strong.
Operations: 8-stage processing model (§5) is detailed and sequential. Strong.
Norms: RFC 2119 keyword usage present in §2.2 but not restated at the point of the Security Considerations section (§8), unlike the outcome-evaluation spec's explicit per-section Norms block. Weak.
Safeguards: §8 covers label allowlist/blocklist enforcement (RL-049) but no explicit compliance-test cross-reference table (unlike the security-architecture-spec-validation §12 matrix). Missing.
Requirements: RFC 2119 Norms section is explicit and well-scoped (4 MUST/MUST NOT rules for API failure handling). Strong.
Entities: Outcome Categories table (6 outcomes) and Common OTel Attributes table are clear. Strong.
Approach: "Same as a repository observer would check" principle is a good design anchor. Strong.
Structure: 30 per-type sections plus Conformance Test Table — comprehensive but large (1061 lines); could benefit from splitting into per-type files. Moderate.
Operations: Implementation status table (Current Default Acceptance Map) accurately tracks Go/JS split per type. Strong.
Safeguards: MUST NOT emit accepted/rejected on API failure — good fail-safe rule. However, 5 types remain "not-started" (generic fallback only), which is a functional gap, not a spec gap. Weak coverage in implementation, spec itself is fine.
Approach: TLA+/F*/Z3 formal verification approach is well-documented with a "Behavioral Coverage Map" (15 predicates) and generated test suite (16 tests). Strong.
Structure: Extensive appendices (A–H), well organized. Strong.
Operations: "Spec Maintenance Tasks" table tracks task history with dates — good operational hygiene, but every row shows "✅ Done"; no forward-looking open task exists in the table itself, meaning new gaps (like the §12 matrix gaps below) aren't yet reflected here.
Norms: Versioning section (semver) is clear.
Safeguards: No explicit callout of the two known partial-evidence compliance categories (Sandbox Isolation, Threat Detection) — a reader of only the summary would not know these gaps exist. Missing.
Requirements: Validates spec claims against compiled .lock.yml and JS implementation with concrete evidence per requirement ID (OI-01, PM-01/02, RS-01/02, etc.). Strong.
Entities: Job architecture (pre_activation/activation/agent/detection/safe_outputs/conclusion) mapped precisely to spec sections. Strong.
Approach: Executive Summary + Detailed Validation + §12 Gap Analysis structure is thorough and auditable.
Operations: Re-validation Triggers section (Normative Triggers, Trigger #3 Decision Log, Failure Escalation) plus a Proposed CI Mechanism for automation. Strong.
Norms: Overall Validation Grade "A" — but two categories remain "⚠️ PARTIALLY EVIDENCED": Sandbox Isolation (T-SI-001 to T-SI-007) and Threat Detection (T-TD-001 to T-TD-007).
Safeguards: Gap Summary explicitly names remaining work and links issue #48686 for the sandbox probe — good traceability. Threat Detection gap (T-TD-002 to T-TD-007) has no tracking issue referenced yet. Missing issue link.
Sync Follow-ups
After scratchpad/safe-outputs-specification.md is deleted, re-run grep -r "scratchpad/safe-outputs-specification.md" across the whole repo (not just docs/ and .github/) to confirm no stray references remain in specs/, pkg/, or README.md files, then close out the removal checklist in specs/safe-outputs-scratchpad-removal.md (or delete that checklist file too, since its purpose will be fulfilled).
When new evaluators are added for update_project/update_release/link_sub_issue/autofix_code_scanning_alert in pkg/cli/outcome_eval.go, update the "Current Default Acceptance Map" and "Implementation" status tables in specs/safe-output-outcome-evaluation.md in the same PR to keep spec and code in lockstep.
When issue #48686 (sandbox runtime host-visibility probe) is resolved, update both specs/security-architecture-spec-validation.md §8c/§12 and the "Spec Maintenance Tasks" table in specs/security-architecture-spec-summary.md to reflect the closed gap.
Open a tracking issue for the Threat Detection capability-evidence gap (T-TD-002 to T-TD-007) mirroring the pattern used for #48686, and reference it from specs/security-architecture-spec-validation.md §12.
Context
Files reviewed this run (rotation indices 10–14 of 19):
specs/replace-label-spec.md
specs/safe-output-outcome-evaluation.md
specs/safe-outputs-scratchpad-removal.md
specs/security-architecture-spec-summary.md
specs/security-architecture-spec-validation.md
Rotation state: last_index advanced from 9 → 14 (persisted to /tmp/gh-aw/cache-memory/spdd-daily/rotation.json). Total tracked spec files: 19. Next run will resume at index 15 (specs/security-architecture-spec.md).
Summary
Daily SPDD rotation processed 5 specs (files 10–14 of 19 in the tracked rotation list):
specs/replace-label-spec.md,specs/safe-output-outcome-evaluation.md,specs/safe-outputs-scratchpad-removal.md,specs/security-architecture-spec-summary.md, andspecs/security-architecture-spec-validation.md. These are mature, actively-maintained specs. Findings are mostly maintenance-grade: a hard scratchpad-removal deadline is now unblocked, two compliance-matrix gaps remain in the security architecture validation, and the outcome-evaluation spec has severalnot-started/partialevaluators that diverge from the "Implementation Priority" ordering.Priority Work Queue
scratchpad/safe-outputs-specification.md— zero remaining references confirmed (grep -r "scratchpad/safe-outputs-specification.md" docs/ .github/returned no matches). Deadline 2026-09-21 is approaching.specs/security-architecture-spec-validation.md(§12): Sandbox Isolation runtime host-visibility probe (tracked in#48686) and Threat Detection capability evidence (T-TD-002 to T-TD-007).not-startedoutcome types (autofix_code_scanning_alert,create_code_scanning_alert,link_sub_issue,update_project,update_release) that currently rely onevalGenericStickyfallback, perspecs/safe-output-outcome-evaluation.md.specs/safe-output-outcome-evaluation.md"Implementation Priority" list (which only names 5 types) with the full 30-row acceptance map — update or remove the stale priority section.specs/replace-label-spec.md§9 pointing at any RL-0xx requirements lacking dedicated Go/JS test evidence.SPDD Checklist
/spdd-sync: Deletescratchpad/safe-outputs-specification.mdand remove its removal-checklist entry fromspecs/safe-outputs-scratchpad-removal.mdonce deleted. Done when: the scratchpad file no longer exists and a repo-wide grep for its path returns zero hits./spdd-generate: Inpkg/cli/outcome_eval.go, implement dedicated evaluators forupdate_projectandupdate_release(currentlyevalGenericStickyfallback per the acceptance map inspecs/safe-output-outcome-evaluation.md). Done when: both types have named evaluator functions and matching entries change from "not-started" to "implemented"/"partial" in the spec's status table./spdd-generate: Inactions/setup/js/evaluate_outcomes.cjs, add type-specific logic forlink_sub_issueandautofix_code_scanning_alertto replace the generic fallback noted inspecs/safe-output-outcome-evaluation.mdrows 23 and 21. Done when: the JS implementation-areas column for those rows names dedicated functions instead of "generic fallback"./spdd-analysis: Re-auditspecs/security-architecture-spec-validation.md§12 Sandbox Isolation row against issue#48686status; update the row's classification if the runtime host-visibility probe has landed. Done when: the row cites concrete test/evidence IDs or explicitly confirms the gap remains open with a current status note./spdd-generate: Add dedicated evidence entries for T-TD-002 through T-TD-007 (prompt injection, secret leaks, malicious patches, custom prompt, engine override, workflow-failure-on-detection) inspecs/security-architecture-spec-validation.md§5/§12, referencing concrete test names inpkg/workflow/. Done when: all six Threat Detection test IDs have named test evidence in the matrix./spdd-reasons-canvas: Add a "Norms" subsection tospecs/replace-label-spec.md§8 restating RFC 2119 keyword usage consistent withspecs/safe-output-outcome-evaluation.md's Norms section, since §8 currently states requirements (RL-0xx) without an explicit terminology preface. Done when: §8 opens with an RFC 2119 interpretation note matching the style used elsewhere in the repo's safe-output specs./spdd-sync: Updatespecs/safe-output-outcome-evaluation.md"Implementation Priority" section to either list all 30 types by current status or remove the stale 5-item priority list now that most types have evaluators. Done when: the section reflects the currentnot-started/partial/implementedcounts from the status table above it./spdd-generate: Add a Safeguards subsection tospecs/security-architecture-spec-summary.mddocumenting fail-secure behavior for the two partially-evidenced compliance categories (Sandbox Isolation, Threat Detection) so summary consumers see the residual risk without reading the full validation doc. Done when: a "Known Gaps" or "Safeguards" callout exists in the summary linking to §12 of the validation doc.Per-Spec Findings
specs/replace-label-spec.md— REASONS canvasspecs/safe-output-outcome-evaluation.md— REASONS canvasspecs/safe-outputs-scratchpad-removal.md— REASONS canvasspecs/security-architecture-spec-summary.md— REASONS canvasspecs/security-architecture-spec-validation.md— REASONS canvas.lock.ymland JS implementation with concrete evidence per requirement ID (OI-01, PM-01/02, RS-01/02, etc.). Strong.#3Decision Log, Failure Escalation) plus a Proposed CI Mechanism for automation. Strong.#48686for the sandbox probe — good traceability. Threat Detection gap (T-TD-002 to T-TD-007) has no tracking issue referenced yet. Missing issue link.Sync Follow-ups
scratchpad/safe-outputs-specification.mdis deleted, re-rungrep -r "scratchpad/safe-outputs-specification.md"across the whole repo (not justdocs/and.github/) to confirm no stray references remain inspecs/,pkg/, orREADME.mdfiles, then close out the removal checklist inspecs/safe-outputs-scratchpad-removal.md(or delete that checklist file too, since its purpose will be fulfilled).update_project/update_release/link_sub_issue/autofix_code_scanning_alertinpkg/cli/outcome_eval.go, update the "Current Default Acceptance Map" and "Implementation" status tables inspecs/safe-output-outcome-evaluation.mdin the same PR to keep spec and code in lockstep.#48686(sandbox runtime host-visibility probe) is resolved, update bothspecs/security-architecture-spec-validation.md§8c/§12 and the "Spec Maintenance Tasks" table inspecs/security-architecture-spec-summary.mdto reflect the closed gap.#48686, and reference it fromspecs/security-architecture-spec-validation.md§12.Context
Files reviewed this run (rotation indices 10–14 of 19):
specs/replace-label-spec.mdspecs/safe-output-outcome-evaluation.mdspecs/safe-outputs-scratchpad-removal.mdspecs/security-architecture-spec-summary.mdspecs/security-architecture-spec-validation.mdRotation state:
last_indexadvanced from 9 → 14 (persisted to/tmp/gh-aw/cache-memory/spdd-daily/rotation.json). Total tracked spec files: 19. Next run will resume at index 15 (specs/security-architecture-spec.md).Run URL: https://github.com/github/gh-aw/actions/runs/34703511196