LearnNewsExamplesServices
Frontmatter
id11370
titleCodify optional ADR emission at Ideation Sandbox graduation (4-file substrate amendment)
stateOpen
labels
documentationenhancementaiarchitecturemodel-experience
assigneesneo-opus-ada
createdAtMay 14, 2026, 8:20 PM
updatedAtJun 7, 2026, 7:11 PM
githubUrlhttps://github.com/neomjs/neo/issues/11370
authorneo-opus-ada
commentsCount2
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]

Codify optional ADR emission at Ideation Sandbox graduation (4-file substrate amendment)

Open Backlog/active-chunk-12 documentationenhancementaiarchitecturemodel-experience
neo-opus-ada
neo-opus-ada commented on May 14, 2026, 8:20 PM

Context

Graduated from Discussion #11369 (Optional ADR Emission at Ideation Sandbox Graduation) per ideation-sandbox-workflow.md §6.7 Author Actions Post-Consensus. 3× explicit [GRADUATION_APPROVED] signals collected with version-binding:

  • @neo-opus-ada (author): implicit at body-updatedAt 2026-05-14T18:15:19Z
  • @neo-gemini-pro: discussioncomment-16921789 (V-B-A re-verification post-Cycle-1)
  • @neo-gpt: discussioncomment-16921786 (Cycle-1 absorption verified)

Signal Ledger + Unresolved Dissent + Unresolved Liveness + Discussion Criteria Mapping captured in Discussion §10-§13.

This is the implementation/planning artifact per the proposal's own §6.7 step 3 (ADR_REQUIRED self-classification). The companion authority artifact is ADR 0005: ADR-at-Graduation for Ideation Sandbox Discussions (separate PR, filed in parallel; this ticket's implementation PR is merge-blocked until ADR 0005 is Accepted).

The Problem

PR #11362 (commit 559c73d43, 2026-05-14) deleted 3,366 archived items due to substrate-bypass at code-authoring time. Root cause: Epic bodies do double-duty as both workstream coordination AND authority codification; as Cycle N amendments accumulate, the authority piece drifts into multi-source territory.

The structural fix (Discussion #11369 graduated): Ideation Sandbox graduations optionally produce a new (or updated) ADR alongside Epic/ticket output. ADR = authority target (single-anchor lookup, version-controlled, immutable post-Accepted). Epic = workstream coordination (Cycle-N-amendable). Implementation PRs cite the ADR; the Epic references it.

This ticket implements the workflow substrate amendments across 4 files.

The Architectural Reality

Touched files (4 substrate surfaces):

File Role Edit shape
.agents/skills/ideation-sandbox/references/ideation-sandbox-workflow.md Atlas (full mechanics) §5 graduation target list + §5.2 Authority sweep + §6.6 required sections + §6.7 author actions
.agents/skills/pr-review/references/pr-review-guide.md Map (one-line pointer) §8 cross-skill integration audit one-liner
.agents/skills/ticket-create/references/ticket-create-workflow.md Map (Fat Ticket field) §5 Fat Ticket structure adds optional Decision Record: field
.agents/skills/epic-review/references/epic-review-workflow.md Map (Stage 2.5 check) Stage 2.5 preserves Decision Record classification/linkage for Discussion-origin Epics

Pattern preserved: Map-vs-Atlas Progressive Disclosure per create-skill discipline. Mechanics stay in the Atlas; Maps get one-line pointers only.

The Fix

Single-PR docs commit landing the 4-file substrate amendments. ADR 0005 PR (authority target) lands first; this implementation PR is merge-blocked until ADR 0005 is Accepted per the very gate semantics it codifies (recursive dogfooding validation).

Concrete edits per file are in Discussion #11369 §1 ("The Concept" sub-bullets) + §7 Discussion Criteria Mapping.

Acceptance Criteria

  • ideation-sandbox-workflow.md §5 graduation target list adds ADR as optional/additional target alongside Epic/ticket/rare-PR
  • ideation-sandbox-workflow.md §5.2 Authority Sweep adds Decision Record: REQUIRED / OPTIONAL / NOT_NEEDED classification declaration when canonical authority is not Discussion body/ticket ACs
  • ideation-sandbox-workflow.md §6.6 graduated-artifact required-sections enumeration adds Decision Record field with concrete values
  • ideation-sandbox-workflow.md §6.7 author-actions branch defines: when ADR_REQUIRED, file/update ADR; implementation PR merge BLOCKED until ADR Accepted (updated-ADR-at-PR-head Accepted target per OQ3)
  • pr-review-guide.md §8 cross-skill integration audit adds one-line pointer: "If an implementation PR cites a graduated Discussion marked Decision Record: REQUIRED, verify the linked ADR is Accepted before approval."
  • ticket-create-workflow.md §5 Fat Ticket structure adds optional Decision Record: field for Discussion-origin tickets (value references linked ADR or marks N/A — no Discussion origin)
  • epic-review-workflow.md Stage 2.5 adds: when Discussion-origin Epic preserves Discussion Criteria Mapping, also preserve Decision Record classification/linkage if source Discussion declared one
  • PR cites Discussion #11369 + ADR 0005 PR + ticket-link (this ticket #)
  • PR merge BLOCKED until ADR 0005 Accepted (the new substrate gates itself — recursive validation)
  • Cross-family review per pull-request §6.1 mandate
  • Post-merge validation hook fires: audit next 6 high-blast Discussion graduations for trigger-classification accuracy; track in a separate followup ticket if compliance-rate <80%

Out of Scope

  • Migration of existing Discussions to reclassify post-hoc — workflow is forward-only; existing Epic-body authority remains as-is
  • Mechanical enforcement automation (CI check for ADR-Status-Accepted on PRs citing Decision Record: REQUIRED Discussions) — deferred to post-merge-validation-trigger ticket if compliance-rate <80%
  • ADR template standardization (ADR 0001-0004 already follow a shape; not forcing rigid template here)
  • Re-classification of currently-open Discussions (e.g., #11369 itself is already self-applying via OQ5; others not in scope)

Avoided Traps

  • Mandatory ADR for every graduation: rejected in Discussion #11369 §3 matrix Option B (substrate-spam risk)
  • ADR-only graduation (no Epic): rejected in Discussion #11369 §3 matrix Option D (collapses workstream/authority into one artifact)
  • Duplicate decision-tree across multiple Maps: rejected per Discussion #11369 OQ2 resolution + create-skill Progressive Disclosure mandate
  • Pre-flip Status:Accepted on ADR 0005 by author: rejected per OQ3 resolution — operator-content-review gates Accepted flip
  • Implement before ADR 0005 lands: rejected per the very gate this ticket codifies — recursive self-application is the validation

Related

  • Discussion #11369 (graduated; this ticket's origin; 3× APPROVED Signal Ledger documented)
  • ADR 0005 (authority artifact; companion PR; merge-gates this ticket's implementation PR)
  • PR #11362 (substrate-bypass empirical anchor)
  • PR #11368 / ADR 0004 (post-hoc rescue-retrofit; positive validation of ADR-as-authority)
  • ADR 0002 (Discussion #10354 → ADR-as-graduation-gate; positive precedent)
  • learn/agentos/decisions/ (target directory for ADR 0005)
  • .agents/skills/{ideation-sandbox, pr-review, ticket-create, epic-review}/references/ (4 substrate surfaces)
  • create-skill Progressive Disclosure / Map-vs-Atlas (discipline governing Map vs Atlas boundary)

Origin Session ID

cf76b29a-9cf5-4c35-a415-37d631a8a755

Handoff Retrieval Hints

  • query_raw_memories("ADR-at-graduation ideation-sandbox workflow extension Cycle 1 absorption")
  • Discussion-anchor: #11369 body at body-updatedAt 2026-05-14T18:15:19Z (graduation-final shape)
  • A2A convergence anchor: 2026-05-14 ~16:20-18:17Z cycle-comment range in Memory Core (see Discussion #11369 §9)
  • Operator quote anchor (graduation authorization): "just go head. create the new sandbox, which enforces double diamond, and we might even get new perspectives."
  • Recursive validation pattern: this ticket + ADR 0005 PR + this implementation PR together demonstrate the workflow on itself (ADR_REQUIRED proposal classifies as ADR_REQUIRED under its own rule)
tobiu referenced in commit 68759b4 - "docs(agentos): land ADR 0005 ADR-at-Graduation for Ideation Sandbox (#11370) (#11371) on May 14, 2026, 9:24 PM
tobiu removed the agent-task:pending label on May 28, 2026, 12:15 AM