Conversation
Archon's GET /api/workflows/:name endpoint resolves by filename stem, not the YAML name: field. Files named triage.yaml were unreachable when the UI fetched /api/workflows/unic-dlc-triage. Rename all seven bundled workflow files so the stem equals the workflow name (triage.yaml → unic-dlc-triage.yaml, and likewise for the other six). Also fixes the cleanup workflow's internal call from archon run <filepath> to archon workflow run unic-dlc-triage, since the old path is now wrong. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
…orkflow run <name> archon run is not a valid CLI command. All seven command docs used `archon run .archon/workflows/<name>.yaml` which would fail at runtime. Replace with `archon workflow run <workflow-name>` and update prose references to the new filenames. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
runInstall now copies .archon/workflows/*.yaml and .archon/commands/*.md from the plugin root into the project's .archon/ directory. The pluginRoot param defaults to CLAUDE_PLUGIN_ROOT, so existing tests are unaffected. setup.md reports workflowsCopied and commandsCopied counts on success. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Output of running /unic-archon-dlc:setup on this repo. Workflows carry runtime: bun on all bash script nodes to satisfy the Archon v0.3.x validation requirement. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
docs/agents/ refreshed by setup with github tracker, merge strategy, and gitflow branching. AGENTS.md gains the unic-archon-dlc skills block. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
The build workflow's run-build node prompt instructed users to invoke the generated per-slug workflow via `archon run <path>`, but the generated YAML sets `name: unic-dlc-build-<slug>` and Archon v0.3.x only supports `archon workflow run <name>`. Updated both the plugin source and the deployed repo-level copy to match the by-name convention used everywhere else in this PR. Addresses Copilot review comment on PR #45. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
…vocation The cleanup workflow's run-triage node already calls `archon workflow run unic-dlc-triage`, but the catch-block error message still said "archon run failed" and the cleanup command doc still described the call as `archon run`. Updated both source and deployed copies of the workflow YAML and command doc so the wording matches the actual invocation, preventing confusion when users hit a failure or copy-paste from the docs. Addresses Copilot review comments on PR #45. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
The agent docs claimed unic-archon-dlc ships six Archon workflow DAGs, but the plugin actually ships seven — the self-contained `review` workflow was missing from the phase table. Updated the agent-docs-writer generator (and its install test) to include the review row, then regenerated docs/agents/workflow.md and refreshed the matching link description in the root AGENTS.md skills block. Addresses Copilot review comment on PR #45. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
The `review` row added in 1f5e7f7 described the workflow as "posts a single comment on the current PR" — but `unic-dlc-review.yaml` writes `docs/workflow/<slug>/review-comment.md` in `local-markdown` tracker mode, so the framing "lifecycle phases produce artifacts in `docs/workflow/<slug>/`; review only posts a PR comment" was wrong. Reworded the intro sentence and the table row's artifact column so they cover all four trackers (github / ado / jira post a PR comment; local-markdown writes a file). Updated both the generator string in `agent-docs-writer.mjs` and the regenerated `docs/agents/workflow.md`. Also tightened the install-agent-docs test: the previous assertion `workflow.toLowerCase().includes('review')` was weak because "review" already appears in the file via `arch-review.md` and the intro sentence — it would pass even if the table row were deleted. The new assertion anchors on `/unic-dlc-review`, which appears only in the review row. Addresses follow-up findings from /pr-review-toolkit:review-pr on the previous commit. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
fix(unic-archon-dlc): setup fixes — runtime, workflow names, and asset copy
Aligns the AGENTS.md summary with the actual issue tracker (GitHub Issues, with planned Azure DevOps migration) and renames the narrative skills block to "Skill summary" so it no longer collides with the unic-archon-dlc-managed "## Agent skills" link block. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Adds `scripts/migrate-local-issues.mjs` (plan + execute modes) and the generated `docs/migration-plan.md` so the one-shot migration of 69 local issue files is reviewable and replayable. Execute mode persists progress to `docs/migration-state.json` so a crash mid-run can be resumed. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Runs the one-shot migration: creates issues in oldest-file-first order with [slug] title prefix, state + category + feature/<slug> labels, backfills blocked-by refs to GitHub issue numbers, closes 52 issues whose status was closed/resolved/rejected, and removes the original NN-*.md files. PRDs and the now-empty single-file folders are kept/cleaned. `docs/migration-state.json` is the audit trail (source path → issue #); delete it once verified. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 5.0.5 to 5.0.6. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@v5.0.5...v5.0.6) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 5.0.6 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>
…tting Re-emits docs/migration-plan.md from the final script (after the PR-link helpers were added), so the committed plan matches what execute consumed. Co-Authored-By: Claude Opus 4.7 <[email protected]>
…sion-5.0.6 chore(deps): bump brace-expansion from 5.0.5 to 5.0.6
Apply Biome auto-fixes flagged by `pnpm ci:check` on PR #119: sort the `node:fs` named imports alphabetically and convert three string-concatenation expressions to template literals (`useTemplate`). No behaviour change.
- Broaden the `## Blocked by` parser to capture bullet-list items even when the ref is not wrapped in backticks or missing the `.md` extension (e.g. `- 02-wire-up`). Free prose like "None — can start immediately." is still skipped. - Extend downstream lookups (`collect()` and `buildBody()`) to try both the raw ref and a `.md`-suffixed variant so position/issue-number resolution works for either form. Backtick substitution in the body also rewrites both variants. - Call `gh label list` once and cache the output before parsing, instead of invoking it twice (extra CLI call + risk of mid-flight drift).
The migration completed successfully (#49–#117 verified on GitHub), so the script, generated plan, and state file have no further use. Removing keeps the repo focused on the harness it's meant to host. Co-Authored-By: Claude Opus 4.7 <[email protected]>
chore: reconcile setup + migrate local issues to GitHub
…for Jetbrains IDEs
Spec 12 (P0): fold thread fetch + mode detection into ADO Fetcher, fixing the broken `az repos pr thread list` Step 4. Spec 14: ADO CLI preflight + smoke test with inventory completeness check. Specs 13, 15, 16: dry-run mode, fan-out resilience Notice, aspect-selection observability — deferred to follow-up PR. ADR 0016 absorbs two amendments: ADR 0013 carve-out removal and ADR 0015 thread-fetch ABORT exemption. CONTEXT.md's ADO Fetcher definition widened to reflect new responsibility. Refs #120 Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
docs(pr-review): plan specs 12–16 and ADRs 0016–0018
Windows incompatibility in ralph-cli was a hard blocker. All 18 monorepo specs (00–17) are complete; docs/plans/ has no future intake role now that unic-archon-dlc (unic-dlc-build) is the target runner. - Delete all ralph.yml, PROMPT.md, and .ralph/ artifacts (root + 3 plugins) - Remove @ralph-orchestrator/ralph-cli from package.json and pnpm-workspace.yaml - Retire Spec/Spec Runner terms from CONTEXT.md; Feature Runner now backed by unic-dlc-build - Add ADR-0030; mark ADR-0020 and ADR-0024 superseded - Update AGENTS.md, process docs, and per-plugin CLAUDE.md accordingly See docs/adr/0030-retire-ralph-adopt-archon-runner.md. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Rewrites the agent-guidance file for every Claude Code Plugin in the monorepo voice. Each Plugin gets an AGENTS.md (canonical) plus a CLAUDE.md symlink, mirroring the root convention. - All four files share the eight-section template from the PRD: What this Plugin is / Where to start / Commands / Layout / Plugin doctrines / External dependencies / Do not add / Plugin ADRs. - Root-mirroring content (pnpm scripts, SemVer policy, Conventional Commits scope, tag scheme, generic code conventions, cross-platform requirement) is dropped — the root AGENTS.md owns it. - Obsolete identifiers removed: unic-claude-code-format, unic-claude-code-<service>, spec-NN scopes, the bare "spec 02" reference. - unic-archon-dlc gets its first AGENTS.md — Setup idempotence, Slug-scoped Sessions, triage-owned HANDOFF.md/ROADMAP.md, the marker-managed Agent skills block, and the dogfooding note all live in the new file. - CLAUDE.md is a relative symlink to AGENTS.md in every Plugin. Tracks #125. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Address Copilot feedback on PR #128: - Fix `pnpm tag` description in all four plugin AGENTS.md to reflect the real `<plugin-name>@<version>` tag scheme (not `v<version>`). - Remove `pnpm typecheck` from `pr-review/AGENTS.md` — no such script in package.json and no tsconfig in the plugin. - Add the missing `pnpm confluence` wrapper to `unic-confluence/AGENTS.md` and move `pnpm test`/`pnpm typecheck` into its plugin-specific list for consistency with the other plugins. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Address three accuracy issues surfaced by the post-Copilot multi-agent review of PR #128: - pr-review/AGENTS.md: the four-state Review Thread classification was listed as `addressed, unaddressed, outdated, new-finding`. Real taxonomy per ADR-0005 and CONTEXT.md is `addressed, disputed, pending, obsolete`. - unic-confluence/AGENTS.md: External dependencies omitted `marked`, the only runtime npm dep. ADR-0010 (already cited) exists precisely because of this dep, so the omission was self-contradictory. - unic-archon-dlc/AGENTS.md: Layout omitted `.archon/` (referenced by the doctrines section as the install target for workflow YAMLs) and `CONTEXT.md` (the file the description points readers at). Co-Authored-By: Claude Opus 4.7 <[email protected]>
…efresh docs: refresh per-plugin AGENTS.md for monorepo context
…ain.md Generalize the buildDomainDoc multi-context branch so the generated docs/agents/domain.md acknowledges that each context may keep its own docs/adr/. The wording is portable — no hardcoded plugin path leaks into the generator. Add a node:test assertion covering both branches, and regenerate the dogfooded docs/agents/domain.md in this repo. Co-Authored-By: Claude Opus 4.7 <[email protected]>
…lugin Move ADRs 0020, 0023, 0024, 0026, 0027, 0028, 0029, 0030, 0031 from root docs/adr/ into apps/claude-code/unic-archon-dlc/docs/adr/ and renumber them to 0002–0010 (the existing 0001-setup-as-slash-command keeps its slot). Each renumbered file carries a "Renumbered from monorepo-root ADR-NNNN (2026-05)" trace under Status, and intra-set supersession references (0020→0002, 0030→0009, 0031→0010, etc.) are updated. Cross-set references (ADR-0014) stay pointing at the root. This makes the harness-internal scope of these decisions structurally explicit: the root ADR index now reads as monorepo-wide conventions, and a contributor opening the plugin directory sees its full design history without cross-jumping to the root. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Each old root path now holds a one-line redirect-stub callout pointing at the new harness-local home. Stubs honour the "Never delete an ADR" rule from docs/adr/README.md and preserve external GitHub permalinks shared in Slack, PR descriptions, and issue comments — links land on a stub that tells the reader exactly where the live ADR lives now. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Update every live link in CONTRIBUTING.md, docs/agents/feature-runner.md, docs/process/ai-development.md, and docs/process/development-workflow.md to point at the new harness-local ADR paths and numbers (0028→0007, 0030→0009, 0031→0010, etc.). No live link inside these files survives on an old root path; readers no longer pay an extra redirect hop. The dogfood-banner PRD and the custom-spec-runner-grill-02 conversation transcript carry name-only references (no link) and are left alone to preserve historical wording. Co-Authored-By: Claude Opus 4.7 <[email protected]>
…T-MAP Refresh apps/claude-code/unic-archon-dlc/docs/adr/README.md so its index table lists all ten ADRs in numeric order (0001 plus the nine freshly reshelved entries with their renumbered titles and statuses). Add a single Relationships line to CONTEXT-MAP.md noting that architectural decisions are split by scope — monorepo-wide decisions at root docs/adr/, per-context decisions in each context's own docs/adr/. CONTEXT.md is intentionally not touched: the ADR location is a structural fact, not domain vocabulary, and the glossary is strict ubiquitous-language only. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Captures the rationale, mapping, and acceptance criteria for relocating the nine harness-internal ADRs into the unic-archon-dlc plugin. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Co-Authored-By: Claude Opus 4.7 <[email protected]>
Patch bump for the buildDomainDoc generator change: multi-context domain.md now documents per-context docs/adr/. Behavioural change to generated output in any multi-context Consumer; no API change. Co-Authored-By: Claude Opus 4.7 <[email protected]>
…ew addition The 0.1.2 entry is a wording refinement of an existing bullet in buildDomainDoc, so lead with "Updated" to signal that to changelog readers scanning the Added section. Co-Authored-By: Claude Opus 4.7 <[email protected]>
…layout The trailing "How agents use this" paragraph in `buildDomainDoc` was shared between single-context and multi-context branches and read as root-only (`CONTEXT.md` + `docs/adr/`), contradicting the per-context-ADR bullet shipped in 0.1.2. Branches the paragraph by `isMulti` so the multi-context form points readers via `CONTEXT-MAP.md` and acknowledges both root and context-scoped `docs/adr/`. The single-context wording is unchanged. - Test (TDD red→green): asserts the multi-context phrase `located via ` + "`CONTEXT-MAP.md`" + ` is present in multi-context output and absent in single-context output. - Regenerated dogfooded `docs/agents/domain.md` via the writer against this repo's `.archon/unic-dlc.config.json` (not hand-edited). - 0.1.2 CHANGELOG entry extended to mention the branching. No version bump.
…ull multi-context phrase The negative assertion at install-agent-docs.test.mjs:49 anchored on the short generic phrase 'located via', which catches today's regression but is not refactor-resilient. Tightens it to the full distinctive substring 'located via `CONTEXT-MAP.md`' so it mirrors the positive multi-context assertion at :77 and only fires on the exact multi-context wording. Surfaced by the comprehensive PR review. Co-Authored-By: Claude Opus 4.7 <[email protected]>
…rnal docs(adr): reshelve harness-internal ADRs into unic-archon-dlc plugin
The four per-plugin AGENTS.md files carried a paragraph stating that "the per-plugin docs/plans/ directory (where present) is historical." Root docs/plans/ was removed in 795ca32; per-plugin docs/plans/ directories were never tracked. The hedge "(where present)" is now always false, so the paragraph is removed entirely. The "## Plugin ADRs" section reduces to its first sentence pointing at docs/adr/. The companion "new work enters through the issue tracker" pointer is already documented in the root AGENTS.md and root docs/agents/, so no replacement text is needed in the per-plugin files. Co-Authored-By: Claude Opus 4.7 <[email protected]>
docs: drop stale per-plugin docs/plans/ references
Local mirror of issue #120 aligned with ADR 0016 as merged. The original GitHub issue body diverged from the ADR on three points (5xx → DEGRADED not ABORTED, ADR 0015 amended by 0018 not 0016, new kind: thread-fetch IS added); the local PRD reflects the ADR. Two AFK slices ready for an agent to pick up: - 01-fold-thread-fetch-into-fetcher.md (P0, no blockers): move thread fetch + mode detection from the orchestrator's broken Step 4 into the ADO Fetcher; export SIGNATURE_PREFIX; emit MODE / IS_REREVIEW / PRIOR_ITERATION_ID / SUMMARY_THREAD_ID / RAW_THREADS_JSON from the Fetcher result block. - 02-ado-cli-inventory-and-smoke-test.md (P1, blocked by 01): add the ADO CLI inventory + allowlist, scripts/ado/cli-completeness.mjs, inventory-completeness test (everywhere) + CLI smoke test (gated on az on PATH), Step 3 preflight assertion, single-cell CI install. First plugin-scoped PRD under apps/claude-code/<plugin>/docs/issues/ per the multi-context doctrine; root docs/issues/ stays monorepo-only going forward (see #132 for the retroactive relocation of prior plugin PRDs). Co-Authored-By: Claude Opus 4.7 <[email protected]>
The orchestrator's Step 4 was calling a non-existent
`az repos pr thread list` subcommand and failing fatally on every ADO
PR review. Thread fetching and mode detection now live inside the ADO
Fetcher, which calls `az devops invoke --resource pullRequestThreads`
and applies the ADR 0015 HTTP-tier classification (401/403 → abort with
`az devops login` hint; 404 → empty `{value:[]}`; 5xx/network →
`thread-fetch` warning Notice). The Fetcher's result block now emits
RAW_THREADS_JSON, MODE, IS_REREVIEW, PRIOR_ITERATION_ID and
SUMMARY_THREAD_ID; the orchestrator's Step 4 captures PR metadata via
`az repos pr show` and forwards it to the Fetcher. Per ADR 0016.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
Guards the failure class behind Slice 01 (a phantom `az repos pr thread list` shipping for months) by adding offline checks for ADO CLI drift: - `tests/fixtures/ado-cli-inventory.mjs` — single source of truth for every `az` call the plugin makes; allowlist exempts preflights and error-message hints. - `scripts/ado/cli-completeness.mjs` — pure `findUninventoriedCommands`; handles multi-line bash, backslash continuations, split `--area`/ `--resource` flags, skips shell comments + markdown inline code + quoted strings. - `tests/ado-cli-smoke.test.mjs` — completeness against real source files (runs everywhere) + `<cmd> --help` per inventory entry (skips cleanly when `az` is absent). - `commands/review-pr.md` Step 3 — preflight asserts `az devops invoke` itself is callable; orchestrator stays at 192 lines. - `.github/workflows/ci.yml` — adds pr-review to the test matrix (was filter-detected but never actually tested) and installs `azure-cli` + `azure-devops` on ubuntu/Node 24 so the smoke test exercises `--help` for real on one cell. - `tests/pre-pr.test.mjs` — ADR-0016 invariant test now skips inline- code / quoted-string mentions and allows the `--help` probe (still bans REST calls). Co-Authored-By: Claude Opus 4.7 <[email protected]>
The agent frontmatter regex assumed LF line endings, which broke on Windows runners where git checks out files with CRLF. Surfaced once pr-review joined the CI test matrix. Co-Authored-By: Claude Opus 4.7 <[email protected]>
- cli-completeness now emits `az <flag>` for root-flag invocations like `az --version`, so the allowlist actually covers them. - ado-cli-smoke normalises path separators before SKIP_FRAGMENTS, so scratchpad/ and node_modules/ are skipped on Windows too. Adds a unit test for the new shape extraction. Co-Authored-By: Claude Opus 4.7 <[email protected]>
- ado-cli-smoke walk() only swallows ENOENT; other read errors propagate so a broken scan can't silently produce a green "no uninventoried" pass. - ado-fetcher Step 2 logs a WARN when HTTP status parsing fails so a 404 with an unparseable error body isn't silently routed to DEGRADED. - ado-fetcher test asserts the new fields appear inside the ADO_FETCHER_RESULT_START/_END block, not just anywhere in the markdown. Co-Authored-By: Claude Opus 4.7 <[email protected]>
Same CRLF-vs-LF mismatch as the earlier plugin-structure fix. Windows checkouts have CRLF line endings; the new regex must use `\r?\n` rather than `\n` for the block delimiters. Co-Authored-By: Claude Opus 4.7 <[email protected]>
…cher-step4-fix fix(pr-review): repair Step 4 ADO mode detection and add CLI guards
|
|
The first `az repos|devops|boards` invocation on a runner without the azure-devops extension cached pays a one-time lazy-load cost that exceeds the per-test 5s timeout, causing flaky failures on cold Ubuntu CI runners (observed on `az repos pr show --help`, the first inventory entry). Add a `before()` hook with a 30s timeout that warms up the extension once before the per-entry loop. Subsequent assertions keep their tight 5s budget so they still catch real regressions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.