Skip to content

Release newer versions#134

Merged
orioltf merged 79 commits into
mainfrom
develop
May 27, 2026
Merged

Release newer versions#134
orioltf merged 79 commits into
mainfrom
develop

Conversation

@orioltf
Copy link
Copy Markdown
Member

@orioltf orioltf commented May 27, 2026

No description provided.

orioltf and others added 30 commits May 21, 2026 18:49
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
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]>
orioltf and others added 27 commits May 23, 2026 02:33
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]>
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
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ orioltf
❌ dependabot[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

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.
@orioltf orioltf merged commit dab076d into main May 27, 2026
40 of 41 checks passed
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