Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
1a93f58
fix(unic-archon-dlc): rename workflow files to match their name field
orioltf May 21, 2026
0490cda
fix(unic-archon-dlc): replace invalid archon run <path> with archon w…
orioltf May 21, 2026
2a4d63d
feat(unic-archon-dlc): copy bundled workflows and commands during setup
orioltf May 21, 2026
8869684
chore(unic-archon-dlc): install bundled workflows, commands, and config
orioltf May 21, 2026
2f858bf
chore(unic-archon-dlc): regenerate agent docs and update AGENTS.md
orioltf May 21, 2026
4f5f5dc
fix(unic-archon-dlc): invoke generated build workflow by name
orioltf May 22, 2026
21c8a85
fix(unic-archon-dlc): align cleanup workflow and docs with by-name in…
orioltf May 22, 2026
1f5e7f7
docs(unic-archon-dlc): list review as the seventh workflow phase
orioltf May 22, 2026
8ccc410
docs(unic-archon-dlc): make review row accurate for all tracker backends
orioltf May 22, 2026
42c854a
Merge pull request #45 from unic/feature/unic-archon-dlc/setup-fixes
orioltf May 22, 2026
38b6a27
docs: reconcile issue tracker reference and dedupe agent skills heading
orioltf May 22, 2026
c559550
chore: add migration script and plan for docs/issues → GitHub Issues
orioltf May 22, 2026
63f5020
chore: migrate 69 local issues to GitHub (#49–#117) and remove sources
orioltf May 22, 2026
ed42a4c
chore(deps): bump brace-expansion from 5.0.5 to 5.0.6
dependabot[bot] May 22, 2026
73e62f2
chore: refresh migration plan with PR-touch metadata and tidied forma…
orioltf May 22, 2026
6b29bb1
Merge pull request #118 from unic/dependabot/npm_and_yarn/brace-expan…
orioltf May 22, 2026
af29b59
style: satisfy Biome lint on migrate-local-issues script
orioltf May 22, 2026
129d803
fix: harden migrate-local-issues regex and dedup gh label call
orioltf May 22, 2026
d984b30
chore: remove one-shot migration script and audit artifacts
orioltf May 22, 2026
c1bfe05
Merge pull request #119 from unic/feature/chore/setup-fixes
orioltf May 22, 2026
c7ff724
refactor: simplify triage labels table by removing redundant columns
orioltf May 22, 2026
83af1d3
docs: update branching strategy table for clarity and completeness
orioltf May 22, 2026
35b6c0e
chore: add conventional commit configuration and update VCS settings …
orioltf May 22, 2026
b8fe318
refactor: add allow permissions and swap pre/post tool use hooks
orioltf May 22, 2026
7f35df3
docs(pr-review): plan specs 12–16 and ADRs 0016–0018
orioltf May 22, 2026
a40032d
Merge pull request #121 from unic/feature/pr-review/plan-12-16
orioltf May 22, 2026
de40eb0
chore: remove ralph-orchestrator and retire docs/plans/
orioltf May 22, 2026
c311e82
fix: syntax and formatting issues
orioltf May 22, 2026
94abe56
chore: remove ralph-orchestrator dependencies from package.json files
orioltf May 22, 2026
37e9838
fix: recreate pnpm-lock.yaml without ralph-cli
orioltf May 22, 2026
5c74d23
fix: address Copilot review comments on ralph removal PR
orioltf May 22, 2026
eb93e90
fix: remove residual ralph/spec-runner references from docs and templ…
orioltf May 22, 2026
1c0fcc5
Merge pull request #122 from unic/feature/remove-ralph-orchestrator
orioltf May 22, 2026
1f227a3
chore: remove /inbox and /implement-feature commands
orioltf May 22, 2026
618a99b
fix: formatting of development workflow table
orioltf May 22, 2026
b14835e
docs: clarify GitHub Issues vs docs/issues/<slug>/ in workflow
orioltf May 22, 2026
51cec6a
docs: drop unverified historical claim about docs/issues/ vs GitHub I…
orioltf May 22, 2026
a18bc58
Merge pull request #123 from unic/feature/remove-outdated-commands
orioltf May 22, 2026
795ca32
chore: remove retired docs/plans/ specs
orioltf May 22, 2026
a4afeec
chore(copilot): add placeholder README for future plugins
orioltf May 22, 2026
33e94ea
docs: fix broken docs/plans/ references left by monorepo cleanup
orioltf May 22, 2026
7b10e6f
docs: address full-review findings from PR #126 review agents
orioltf May 22, 2026
113baa4
Merge pull request #126 from unic/feature/monorepo-consolidation
orioltf May 22, 2026
f08fb05
feat(unic-archon-dlc): add dogfood-banner module and wire it into gen…
orioltf May 22, 2026
2aeb7f0
chore(unic-archon-dlc): bump to 0.1.1
orioltf May 22, 2026
f00b41f
docs(unic-archon-dlc): add PRD for dogfood-banner feature (#124)
orioltf May 23, 2026
5236c7a
fix(unic-archon-dlc): correct setup command name in dogfood banner
orioltf May 23, 2026
6a89c34
fix(unic-archon-dlc): correct banner references and clarify SKILLS_BL…
orioltf May 23, 2026
60fc2c2
test(unic-archon-dlc): harden dogfood-banner test coverage
orioltf May 23, 2026
932b5e3
Merge pull request #127 from unic/feature/unic-archon-dlc-dogfood-banner
orioltf May 23, 2026
56a07a4
docs: add PRD for plugin-claude-md-monorepo-refresh
orioltf May 23, 2026
093e7d5
docs: refresh per-plugin AGENTS.md for monorepo context
orioltf May 23, 2026
bdb2f7c
docs: correct per-plugin command descriptions
orioltf May 23, 2026
02650ad
docs: fix factual defects flagged by full PR review
orioltf May 23, 2026
d16ac8e
Merge pull request #128 from unic/feature/plugin-claude-md-monorepo-r…
orioltf May 23, 2026
b14cebe
chore(unic-archon-dlc): mention per-context ADRs in multi-context dom…
orioltf May 23, 2026
41d5ef5
docs(adr): reshelve nine harness-internal ADRs into unic-archon-dlc p…
orioltf May 23, 2026
c85f7b4
docs(adr): replace moved harness ADRs at root with redirect stubs
orioltf May 23, 2026
3471a81
docs(adr): sweep inbound ADR links across monorepo docs
orioltf May 23, 2026
3a9220e
docs(adr): refresh plugin ADR README and document the split in CONTEX…
orioltf May 23, 2026
988ecde
docs(issues): add PRD for adr-reshelving-harness-internal feature
orioltf May 23, 2026
9e31e2b
docs(unic-archon-dlc): add CHANGELOG entry for per-context ADR phrase
orioltf May 23, 2026
9eae79a
chore(unic-archon-dlc): bump 0.1.1 → 0.1.2 for per-context ADR phrase
orioltf May 23, 2026
522f8b0
docs(unic-archon-dlc): clarify CHANGELOG bullet as an update, not a n…
orioltf May 23, 2026
ecf6a5c
fix(unic-archon-dlc): branch domain.md "How agents use this" by repo …
orioltf May 26, 2026
df2a44e
test(unic-archon-dlc): tighten single-context negative assertion to f…
orioltf May 26, 2026
be1431b
Merge pull request #130 from unic/feature/adr-reshelving-harness-inte…
orioltf May 26, 2026
d00e161
docs: drop stale per-plugin docs/plans/ references
orioltf May 26, 2026
fa5f0df
Merge pull request #131 from unic/feature/docs-plans-refs-cleanup
orioltf May 26, 2026
b67dabf
docs(pr-review): add PRD + slices for ADO Fetcher Step 4 fix (#120)
orioltf May 26, 2026
0256318
fix(pr-review): fold thread fetch + mode detection into ADO Fetcher
orioltf May 26, 2026
072861d
feat(pr-review): inventory + smoke test + preflight for `az` CLI
orioltf May 26, 2026
8f7a603
fix(pr-review): tolerate CRLF in plugin-structure frontmatter regex
orioltf May 26, 2026
cbb74ca
chore(pr-review): re-trigger CI
orioltf May 26, 2026
dbfb59b
fix(pr-review): address Copilot review findings
orioltf May 26, 2026
00cf8bd
fix(pr-review): tighten error visibility from review-agent findings
orioltf May 27, 2026
ca8627d
fix(pr-review): tolerate CRLF in ado-fetcher result-block regex
orioltf May 27, 2026
58a3bc5
Merge pull request #133 from unic/feature/pr-review/pr-review-ado-fet…
orioltf May 27, 2026
01f2f8d
fix(pr-review): pre-warm azure-devops extension in ADO CLI smoke test
orioltf May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 7 additions & 7 deletions .agents/skills/setup-matt-pocock-skills/triage-labels.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

The skills speak in terms of five canonical triage roles. This file maps those roles to the actual label strings used in this repo's issue tracker.

| Label in mattpocock/skills | Label in our tracker | Meaning |
| -------------------------- | -------------------- | ---------------------------------------- |
| `needs-triage` | `needs-triage` | Maintainer needs to evaluate this issue |
| `needs-info` | `needs-info` | Waiting on reporter for more information |
| `ready-for-agent` | `ready-for-agent` | Fully specified, ready for an AFK agent |
| `ready-for-human` | `ready-for-human` | Requires human implementation |
| `wontfix` | `wontfix` | Will not be actioned |
| Label in our tracker | Meaning |
| -------------------- | ---------------------------------------- |
| `needs-triage` | Maintainer needs to evaluate this issue |
| `needs-info` | Waiting on reporter for more information |
| `ready-for-agent` | Fully specified, ready for an AFK agent |
| `ready-for-human` | Requires human implementation |
| `wontfix` | Will not be actioned |

When a skill mentions a role (e.g. "apply the AFK-ready triage label"), use the corresponding label string from this table.

Expand Down
Empty file added .archon/commands/.gitkeep
Empty file.
59 changes: 59 additions & 0 deletions .archon/commands/unic-dlc-build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# /unic-dlc-build

Execute the TDD build workflow for a planning session, enforcing red → green per issue.

## Usage

```
/unic-dlc-build <slug>
```

Where `<slug>` is the session identifier used when you ran `/unic-dlc-plan`. The generated
`.archon/workflows/build-<slug>.yaml` must already exist (produced by the `yaml-gen` node in plan).

## What this command does

1. **Slopcheck gate** — before any implementation begins, scans `package.json` (and other
manifest files) for packages introduced since the last commit. Each new package is checked
against the npm registry. Packages that fail the check are flagged `[ASSUMED]` and require
explicit human approval before the build can continue.

Registry check strategy (in order of preference):

- Python `slopcheck` tool (GSD's slopsquatting gate) if available on `PATH`
- npm registry HEAD request fallback
- If neither is available: all new packages are treated as `[ASSUMED]` (strict default)

To bypass slopcheck for known-safe cases: `SLOPCHECK_BYPASS=1 /unic-dlc-build <slug>`

2. **Generated build workflow** — executes `.archon/workflows/build-<slug>.yaml` which was
produced by the `yaml-gen` node in `/unic-dlc-plan`. The generated workflow:
- Issues a `code-red` node per issue: writes FAILING acceptance tests
- Issues a `code-green` node per issue: writes minimum implementation to pass those tests
- Enforces `code-red` before `code-green` within each issue via `depends_on` edges
- Runs independent issues' `code-red` (and `code-green`) phases in parallel

## Prerequisites

- `/unic-dlc-plan <slug>` must have been run and the plan PR approved
- `.archon/workflows/build-<slug>.yaml` must exist
- `.archon/unic-dlc.config.json` must be present (created by the install hook)

## TDD contract

Every issue in the build goes through:

```
RED: code-red-<id> → write failing acceptance tests
GREEN: code-green-<id> → write minimum implementation to pass those tests
```

No `code-green` node may run before its corresponding `code-red` node completes.
Independent issues run their `code-red` and `code-green` phases in parallel,
giving the fastest possible end-to-end build time.

## Runs

```
archon workflow run unic-dlc-build --input slug=<slug>
```
61 changes: 61 additions & 0 deletions .archon/commands/unic-dlc-cleanup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# /unic-dlc-cleanup

Post-merge cleanup for a planning session: architecture review, ADR consolidation, and a
triage pass to refresh project state.

## Usage

```
/unic-dlc-cleanup <slug>
```

Where `<slug>` is the session identifier used throughout the plan → build → qa cycle.

## What this command does

1. **`arch-review` node** — reads `docs/workflow/<slug>/PRD.md` (intent) and
`docs/workflow/<slug>/report.md` (technical outcome) alongside the changed code.
Detects three categories of drift:

- **Technical drift**: too-shallow modules, tight coupling, leaky abstractions.
- **Intent drift**: delivered behaviour that diverges from the PRD; silently dropped
acceptance criteria; scope creep added during build.
- **Deepening opportunities**: modules that could hide more complexity behind their
current interface.

Output: `docs/workflow/<slug>/arch-review.md`

2. **`adr-consolidation` interactive node** — presents each proposed ADR individually for
human approval. Sources:

- "Decisions Made" section of `report.md`
- "Accept as ADR" items from `arch-review.md`

Each ADR is shown with Context, Decision, and Consequences. The user accepts (A),
rejects (R), or edits (E) each candidate. Only accepted ADRs are written to `docs/adr/`.

3. **`run-triage` node** — invokes the shared triage workflow by name via
`archon workflow run unic-dlc-triage`. No triage logic is duplicated in the cleanup
workflow. This produces `HANDOFF.md` and updates `docs/workflow/ROADMAP.md` exactly
once per cleanup run.

## Prerequisites

- The build and QA cycles for `<slug>` must be complete (build PR merged, QA approved)
- `docs/workflow/<slug>/PRD.md` and `docs/workflow/<slug>/report.md` must exist
- `.archon/unic-dlc.config.json` must be present

## Outputs

| File | Description |
| ------------------------------------- | ----------------------------------------------- |
| `docs/workflow/<slug>/arch-review.md` | Architecture review with drift findings |
| `docs/adr/NNNN-*.md` | Accepted ADRs (one file per accepted candidate) |
| `HANDOFF.md` | Updated handoff snapshot (from triage) |
| `docs/workflow/ROADMAP.md` | Updated project phase (from triage) |

## Runs

```
archon workflow run unic-dlc-cleanup --input slug=<slug>
```
54 changes: 54 additions & 0 deletions .archon/commands/unic-dlc-explore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
description: Run the unic-archon-dlc explore workflow — parallel research across stack, features, architecture, and pitfalls, then synthesize into docs/workflow/<slug>/findings.md
---

# /unic-dlc-explore

Runs the `explore` workflow: four parallel research agents investigate the project from different angles, then a synthesize node combines their findings into a single `findings.md` document.

## When to use

- At the start of a new feature or investigation to build a shared mental model.
- When onboarding to an unfamiliar project or module.
- Before writing a spec, to surface pitfalls and architecture constraints early.
- Any time you want a structured snapshot of what the project is, what it does, and where the risks are.

## What it produces

- **`docs/workflow/<slug>/findings.md`** — five sections:
- **Stack** — runtime, package manager, toolchain
- **Features** — shipped capabilities, in-progress work, planned features
- **Architecture** — directory structure, design patterns, ADR decisions, cross-platform constraints
- **Pitfalls** — TODOs, untested modules, CI issues, HANDOFF.md blockers
- **Integrated Brief** — 3-5 sentence synthesis with the highest-impact next step

## Usage

```sh
archon workflow run unic-dlc-explore --input slug=<slug>
```

Or invoke from Claude Code:

```
/unic-dlc-explore <slug>
```

Replace `<slug>` with a short identifier for this exploration (e.g. `auth-refactor`, `v2-planning`).

## Workflow structure

```
research-stack ──┐
research-features ─┤
├──▶ synthesize ──▶ findings.md
research-architecture ─┤
research-pitfalls ──┘
```

All four research nodes are independent and run in parallel. The `synthesize` node depends on all four and writes the final output.

## Inspiration

- Parallel research pattern from the Archon workflow specification.
- This plugin's `lib/findings-writer.mjs` handles idempotent directory and file creation.
61 changes: 61 additions & 0 deletions .archon/commands/unic-dlc-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
description: Run the unic-archon-dlc plan workflow — adversarial spec interview, PRD synthesis, and human PR gate
---

# /unic-dlc-plan

Runs the `plan` workflow: loads project context and prior research, runs an adversarial interview to surface requirements and decisions, synthesises the transcript into a structured PRD, and opens a PR for human review before proceeding.

## When to use

- After `/unic-dlc-explore` to turn research findings into a formal PRD.
- When starting a new feature and you want to stress-test assumptions before writing specs.
- Any time you need a structured `PRD.md` that captures problem, solution, stories, decisions, and scope.

## What it produces

- **`docs/workflow/<slug>/PRD.md`** — seven sections: Problem Statement, Solution, User Stories, Implementation Decisions, Testing Decisions, Out of Scope, Further Notes.
- **`docs/adr/NNNN-<slug>.md`** — one or more ADR files for non-obvious decisions surfaced during the interview (written live, confirmed by user).
- **PR** targeting `develop` — pauses until approved. Rejection returns control to the adversarial interview for refinement.

## Usage

```sh
archon workflow run unic-dlc-plan --input slug=<slug>
```

Or invoke from Claude Code:

```
/unic-dlc-plan <slug>
```

Replace `<slug>` with a short identifier for this planning session (e.g. `auth-refactor`, `v2-planning`).

## Options

Set `workflow.discuss_mode` in `.archon/unic-dlc.config.json` to control the interview style:

| Value | Behaviour |
| --------------------- | ------------------------------------------------------------------------ |
| `interview` (default) | One focused, adversarial question per turn; probes deeply |
| `assumptions` | Surfaces all implicit assumptions upfront, then confirms or refutes each |

## Workflow structure

```
load-context ──▶ specs (loop) ──▶ to-prd ──▶ prd-gate (interactive)
▲ │
└──────── rejected ────────────┘
```

- `load-context` reads CONTEXT.md, CONTEXT-MAP.md, all ADRs, and findings.md (if present).
- `specs` runs the adversarial interview; writes ADRs live for confirmed decisions.
- `to-prd` synthesises the interview transcript into PRD.md.
- `prd-gate` validates all 7 sections, opens a PR, and waits for human approval.

## Inspiration

- The `grill-with-docs` skill — adversarial interview pattern against the domain model.
- The `to-prd` skill — structured PRD synthesis from conversation context.
- Archon PR-gate pattern for human-in-the-loop workflow checkpoints.
78 changes: 78 additions & 0 deletions .archon/commands/unic-dlc-qa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
description: Run the unic-archon-dlc QA workflow — e2e tests, coverage gate, UAT checklist, and merge
---

# /unic-dlc-qa

Runs the `qa` workflow: executes end-to-end tests, enforces the coverage threshold, walks through
a UAT checklist derived from the PRD's acceptance criteria, and merges the PR once the human approves.

## When to use

- After `/unic-dlc-build <slug>` is complete and the build PR has been reviewed and approved.
- When you want a structured QA gate before merging a feature branch.
- Any time you need to confirm that acceptance criteria are met before shipping.

## What it produces

- **e2e results** — pass/fail output from the command configured in `e2e_command`.
- **Coverage report** — pass/fail against the `coverage_threshold` set in `.archon/unic-dlc.config.json`.
- **UAT checklist** — numbered acceptance criteria from `docs/workflow/<slug>/PRD.md`, presented alongside build coverage evidence.
- **Merged PR** — once UAT is approved, the PR is merged via the configured tracker CLI and the feature branch is cleaned up (Gitflow only).

## Usage

```sh
archon workflow run unic-dlc-qa --input slug=<slug>
```

Or invoke from Claude Code:

```
/unic-dlc-qa <slug>
```

Replace `<slug>` with the same identifier used in `/unic-dlc-plan` and `/unic-dlc-build`.

## Prerequisites

- `/unic-dlc-build <slug>` must have been run and the build PR approved.
- `.archon/unic-dlc.config.json` must be present (created by the install hook).
- `e2e_command` must be set in the config. If not, run `archon install --reconfigure` to set it.
- The current branch must have an open PR targeting `develop` (for the merge step).

## Workflow structure

```
e2e ──▶ coverage-gate ──▶ uat-gate (interactive) ──▶ merge
```

- `e2e` — reads `e2e_command` from config; fails fast with a helpful message if it is not set.
- `coverage-gate` — runs `pnpm test --coverage`; parses the output to compare against `coverage_threshold`. Skipped if no threshold is configured.
- `uat-gate` — presents the numbered UAT checklist; waits for APPROVE or REJECT from the human.
- `merge` — merges the PR via the tracker CLI (gh / az / manual instructions for jira and local-markdown); deletes the feature branch on Gitflow.

## Configuration reference

All settings are read from `.archon/unic-dlc.config.json`:

| Field | Type | Default | Description |
| -------------------- | ------ | ----------- | ------------------------------------------------------------------------ |
| `e2e_command` | string | — | Shell command to run e2e tests (e.g. `"pnpm test:e2e"`) |
| `coverage_threshold` | number | — | Minimum coverage % required (e.g. `80`). Omit to skip the gate. |
| `tracker` | string | `"github"` | Issue tracker: `github`, `ado`, `jira`, `local-markdown` |
| `branching` | string | `"gitflow"` | Branch strategy: `gitflow` (delete feature branch) or `github-flow` |
| `pr_strategy` | string | `"squash"` | GitHub merge style: `squash` or `merge` (used for `github` tracker only) |

## UAT interaction

The `uat-gate` node pauses and asks for your decision:

- Type **`APPROVE`** to proceed to merge.
- Type **`REJECT AC-N`** (e.g. `REJECT AC-3`) to flag a failing criterion. The workflow halts and you are returned to address the issue before re-running.

## Runs

```
archon workflow run unic-dlc-qa --input slug=<slug>
```
Loading
Loading