Skip to content

feat(unic-archon-dlc): port /explore to key-discriminated Archon schema (redesign step 12)#272

Merged
orioltf merged 3 commits into
developfrom
feature/unic-archon-dlc-explore
Jul 3, 2026
Merged

feat(unic-archon-dlc): port /explore to key-discriminated Archon schema (redesign step 12)#272
orioltf merged 3 commits into
developfrom
feature/unic-archon-dlc-explore

Conversation

@orioltf

@orioltf orioltf commented Jul 3, 2026

Copy link
Copy Markdown
Member

Why

Redesign step 12 (docs/redesign/12-explore.md). The shipped unic-dlc-explore Archon workflow was doubly dead: it used the inert type:-style node schema (its type: interactive spike gate never paused — ADR-0011) and imported lib/config-loader.mjs, which was already deleted — so it could not run at all. This step turns /explore into the off-line, optional research + AFK-spike on-ramp whose findings.md may seed /specs (PLAN decision #3/#8).

What

  • Ported .archon/workflows/unic-dlc-explore.yaml to the key-discriminated schema:
    bootstrap → guard → {stack, features, architecture, pitfalls} → synthesize → spike → spike-ticket → spike-branch-gate → preserve-spike. Every node is a self-contained prompt: node — no plugin-lib/ import (ADR-0023 §5). Artefacts move to <artifacts_dir>/<slug>/ (ADR-0015), off the old docs/workflow/<slug>/.
  • Tightened the /explore → /specs contract (grilled): synthesize writes the Integrated Brief as three explicitly-named lenses — Domain Model / Established Decisions / Prior Research — that /specs' load-context reads verbatim.
  • spike runs AFK (build/measure where feasible, else reason → VALIDATED / INVALIDATED / PARTIAL) and references Matt's /prototype for the interactive case — never invokes it (nodes have no live conversation, ADR-0017).
  • Config-gated spike-branch gate (gates.explore, HITL default). The spike ticket is filed before the gate so the durable output survives a "discard" (the approval schema only exposes on_reject). Ticket composes the tracker + classification.labels (ADR-0024), MCP-first/CLI-fallback.
  • Dissolved findings-writer.mjs + spike-verdicts.mjs (and their tests) — the last explore-only libs, completing ADR-0018 chore(spec-15): add spec and roadmap backlog section #3. labels-config.mjs stays (config-schema.mjs uses getDefaultLabels).
  • ADR-0029 + CONTEXT / AGENTS / CHANGELOG and the redesign progress table (row 12 → ✅). No new config key (gates.explore + artifacts_dir already exist) → no /setup change. Bump 0.10.0 → 0.11.0.

Verification

  • pnpm --filter unic-archon-dlc typecheck ✓ · test ✓ (100 tests, deleted-lib tests removed) · verify:changelog
  • pnpm ci:check clean for all changed files (Biome + Prettier).
  • Not asserted by CI: full behavioural validation (gate pauses in HITL, is skipped in AFK, the ticket is always filed) needs a real Archon run against a Consumer — logged as a manual follow-up, same posture as /qa and /pr-review.

🤖 Generated with Claude Code

orioltf and others added 2 commits July 3, 2026 13:06
…ma (redesign step 12)

Why: the shipped `unic-dlc-explore` workflow was doubly dead — a `type:`-style
spike gate that never paused (ADR-0011) and an import of the already-deleted
`lib/config-loader.mjs`, so it could not run at all. Step 12 makes /explore the
off-line, optional research + AFK-spike on-ramp whose findings.md seeds /specs.

What:
- Rewrite `.archon/workflows/unic-dlc-explore.yaml` to the key-discriminated node
  schema: bootstrap → guard → 4 parallel research nodes → synthesize → spike →
  spike-ticket → spike-branch-gate → preserve-spike. Self-contained prompt nodes,
  no plugin-lib import (ADR-0023 §5); artefacts at `<artifacts_dir>/<slug>/`
  (ADR-0015) instead of the old `docs/workflow/<slug>/`.
- Tighten the /explore → /specs contract: synthesize writes the Integrated Brief
  as three explicitly-named lenses (Domain Model / Established Decisions / Prior
  Research) that /specs' load-context reads verbatim.
- spike runs AFK (build/measure where feasible, else reason → VALIDATED /
  INVALIDATED / PARTIAL) and references Matt's /prototype for the interactive
  case (never invokes it — nodes have no live conversation).
- Config-gated spike-branch gate (`gates.explore`, HITL default); the spike
  ticket is filed BEFORE the gate so the durable output survives a discard
  (approval schema only has on_reject). Ticket composes the tracker +
  classification.labels (ADR-0024).
- Dissolve `findings-writer.mjs` + `spike-verdicts.mjs` (+ tests) — the last
  explore-only libs, per ADR-0018 #3. labels-config stays (config-schema uses it).
- ADR-0029; CONTEXT/AGENTS/CHANGELOG + redesign progress table updated. No new
  config key → no /setup change. Bump 0.10.0 → 0.11.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Ports the unic-dlc-explore Archon workflow to the key-discriminated schema and repositions /explore as an optional offline research + AFK spike on-ramp whose findings.md becomes the explicit /specs baton in unic-archon-dlc.

Changes:

  • Reworked .archon/workflows/unic-dlc-explore.yaml into a self-contained prompt-node workflow (bootstrap/guard → parallel research → synthesize → spike → ticket → optional approval-gated branch preserve).
  • Tightened the /explore → /specs contract by defining the Integrated Brief as three named lenses (Domain Model / Established Decisions / Prior Research) and documenting the decision via ADR-0029.
  • Removed explore-only libs (lib/findings-writer.mjs, lib/spike-verdicts.mjs) and their tests; bumped plugin version to 0.11.0 with changelog/docs updates.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
apps/claude-code/unic-archon-dlc/.archon/workflows/unic-dlc-explore.yaml New key-discriminated /explore workflow graph, spike ticketing, and optional preserve gate
apps/claude-code/unic-archon-dlc/.archon/commands/unic-dlc-explore.md Updated command docs to match the new workflow behavior and contract
apps/claude-code/unic-archon-dlc/docs/adr/0029-explore-research-spike-onramp.md New ADR capturing the redesigned /explore intent and contract
apps/claude-code/unic-archon-dlc/docs/adr/README.md Registers ADR-0029 in the ADR index
apps/claude-code/unic-archon-dlc/docs/redesign/README.md Marks redesign step 12 (/explore) as complete with notes
apps/claude-code/unic-archon-dlc/CONTEXT.md Updates “Findings” definition to reflect new structure and /specs baton lenses
apps/claude-code/unic-archon-dlc/AGENTS.md Adds /explore as a load-bearing invariant consistent with ADR-0029
apps/claude-code/unic-archon-dlc/CHANGELOG.md Adds 0.11.0 entry documenting workflow port + lib dissolution
apps/claude-code/unic-archon-dlc/lib/findings-writer.mjs Removed (explore nodes now write findings directly)
apps/claude-code/unic-archon-dlc/lib/spike-verdicts.mjs Removed (spike node now writes verdicts directly)
apps/claude-code/unic-archon-dlc/test/findings-writer.test.mjs Removed (tests for dissolved lib)
apps/claude-code/unic-archon-dlc/test/spike-verdicts.test.mjs Removed (tests for dissolved lib)
apps/claude-code/unic-archon-dlc/package.json Bumps version + removes deleted tests from the test script
apps/claude-code/unic-archon-dlc/.claude-plugin/plugin.json Bumps plugin version to 0.11.0
apps/claude-code/unic-archon-dlc/.claude-plugin/marketplace.json Bumps marketplace version to 0.11.0

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +30 to +31
1. Parse the FIRST whitespace-delimited token of "$ARGUMENTS" as the slug (kebab-case).
If $ARGUMENTS is empty → status "no-slug".
Comment on lines +285 to +289
3. APPEND a "## Spike verdicts" section to findings.md, one subsection per unknown:
## Spike verdicts
### <title> — <VALIDATED|INVALIDATED|PARTIAL>
<evidence>
Do not disturb the sections synthesize wrote above it.
Comment thread apps/claude-code/unic-archon-dlc/.archon/workflows/unic-dlc-explore.yaml Outdated
Address three Copilot review comments on the ported explore workflow:
- bootstrap: enforce a kebab-case regex on the slug and hard-gate non-matching
  tokens to no-slug (the slug is interpolated into branch names/shell commands).
- spike: make the '## Spike verdicts' write idempotent — replace an existing
  section on re-run instead of appending a duplicate.
- preserve-spike: quote the branch name in git checkout -b (user-controlled slug).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@orioltf
orioltf merged commit 753d227 into develop Jul 3, 2026
9 checks passed
@orioltf
orioltf deleted the feature/unic-archon-dlc-explore branch July 3, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants