@ludecker/aaac 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +60 -0
  2. package/package.json +38 -0
  3. package/src/cli.mjs +138 -0
  4. package/src/generators/generate-commands.mjs +165 -0
  5. package/src/generators/generate-graph-commands.mjs +63 -0
  6. package/src/generators/generate-graph.mjs +242 -0
  7. package/src/lib/copy.mjs +36 -0
  8. package/src/lib/install.mjs +76 -0
  9. package/src/lib/paths.mjs +54 -0
  10. package/templates/cursor/aaac/capabilities/registry.json +106 -0
  11. package/templates/cursor/aaac/contract-schema.md +66 -0
  12. package/templates/cursor/aaac/contracts/commands/create-module.yaml +28 -0
  13. package/templates/cursor/aaac/contracts/commands/fix-bug.yaml +32 -0
  14. package/templates/cursor/aaac/contracts/commands/update-module.yaml +28 -0
  15. package/templates/cursor/aaac/contracts/skills/impact-analysis.yaml +17 -0
  16. package/templates/cursor/aaac/contracts/skills/investigation-lite.yaml +17 -0
  17. package/templates/cursor/aaac/contracts/skills/investigation.yaml +17 -0
  18. package/templates/cursor/aaac/contracts/skills/validation.yaml +14 -0
  19. package/templates/cursor/aaac/dependencies.yaml +14 -0
  20. package/templates/cursor/aaac/dispatch.md +135 -0
  21. package/templates/cursor/aaac/fitness-functions.yaml +34 -0
  22. package/templates/cursor/aaac/governance/gates.json +39 -0
  23. package/templates/cursor/aaac/graph.project.yaml +161 -0
  24. package/templates/cursor/aaac/layers.md +93 -0
  25. package/templates/cursor/aaac/lifecycle/lifecycle.json +78 -0
  26. package/templates/cursor/aaac/lifecycle/phases.json +19 -0
  27. package/templates/cursor/aaac/ontology.json +219 -0
  28. package/templates/cursor/aaac/ontology.md +90 -0
  29. package/templates/cursor/aaac/project.config.json +3 -0
  30. package/templates/cursor/aaac/run/RUN.md +72 -0
  31. package/templates/cursor/aaac/run/schema.json +83 -0
  32. package/templates/cursor/aaac/state/checkpoints/README.md +20 -0
  33. package/templates/cursor/agents/boundary-review.md +11 -0
  34. package/templates/cursor/agents/check-capability-trace.md +18 -0
  35. package/templates/cursor/agents/dependency-analysis.md +11 -0
  36. package/templates/cursor/agents/discovery-boundaries.md +11 -0
  37. package/templates/cursor/agents/discovery-inventory.md +14 -0
  38. package/templates/cursor/agents/discovery-ssot.md +11 -0
  39. package/templates/cursor/agents/fallow-check-changed.md +9 -0
  40. package/templates/cursor/agents/impact-analysis.md +22 -0
  41. package/templates/cursor/agents/plan-layer-map.md +11 -0
  42. package/templates/cursor/agents/plan-state-machines.md +11 -0
  43. package/templates/cursor/agents/release-git.md +36 -0
  44. package/templates/cursor/agents/system-decomposition.md +11 -0
  45. package/templates/cursor/agents/unit-test-run.md +19 -0
  46. package/templates/cursor/policies/implementation.md +8 -0
  47. package/templates/cursor/policies/master-rules.md +7 -0
  48. package/templates/cursor/skills/shared/api/SKILL.md +26 -0
  49. package/templates/cursor/skills/shared/architecture/SKILL.md +25 -0
  50. package/templates/cursor/skills/shared/architecture/orchestrator/SKILL.md +21 -0
  51. package/templates/cursor/skills/shared/architecture/refactor-analysis.md +302 -0
  52. package/templates/cursor/skills/shared/check/SKILL.md +47 -0
  53. package/templates/cursor/skills/shared/component/SKILL.md +24 -0
  54. package/templates/cursor/skills/shared/dependency-graph/SKILL.md +38 -0
  55. package/templates/cursor/skills/shared/discovery/SKILL.md +29 -0
  56. package/templates/cursor/skills/shared/documentation/SKILL.md +21 -0
  57. package/templates/cursor/skills/shared/documentation/orchestrator/SKILL.md +26 -0
  58. package/templates/cursor/skills/shared/documentation/orchestrator/contract.yaml +20 -0
  59. package/templates/cursor/skills/shared/documentation/write-arch-doc.md +168 -0
  60. package/templates/cursor/skills/shared/domain/SKILL.md +24 -0
  61. package/templates/cursor/skills/shared/execution/SKILL.md +34 -0
  62. package/templates/cursor/skills/shared/fitness-functions/SKILL.md +42 -0
  63. package/templates/cursor/skills/shared/governance/implementation/SKILL.md +424 -0
  64. package/templates/cursor/skills/shared/impact-analysis/SKILL.md +44 -0
  65. package/templates/cursor/skills/shared/integration/SKILL.md +22 -0
  66. package/templates/cursor/skills/shared/investigation/SKILL.md +46 -0
  67. package/templates/cursor/skills/shared/investigation/orchestrator/SKILL.md +22 -0
  68. package/templates/cursor/skills/shared/investigation-lite/SKILL.md +38 -0
  69. package/templates/cursor/skills/shared/migration/SKILL.md +22 -0
  70. package/templates/cursor/skills/shared/model/SKILL.md +22 -0
  71. package/templates/cursor/skills/shared/module-authoring/SKILL.md +29 -0
  72. package/templates/cursor/skills/shared/module-authoring/authoring-template.md +9 -0
  73. package/templates/cursor/skills/shared/planning/SKILL.md +30 -0
  74. package/templates/cursor/skills/shared/platform-release/SKILL.md +46 -0
  75. package/templates/cursor/skills/shared/platform-release/orchestrator/SKILL.md +51 -0
  76. package/templates/cursor/skills/shared/platform-release/orchestrator/contract.yaml +29 -0
  77. package/templates/cursor/skills/shared/platform-release/ship-procedure.md +31 -0
  78. package/templates/cursor/skills/shared/remove/SKILL.md +28 -0
  79. package/templates/cursor/skills/shared/reporting/SKILL.md +43 -0
  80. package/templates/cursor/skills/shared/rollback/SKILL.md +46 -0
  81. package/templates/cursor/skills/shared/root-cause/SKILL.md +24 -0
  82. package/templates/cursor/skills/shared/run/SKILL.md +64 -0
  83. package/templates/cursor/skills/shared/schema/SKILL.md +24 -0
  84. package/templates/cursor/skills/shared/testing/SKILL.md +24 -0
  85. package/templates/cursor/skills/shared/testing/orchestrator/SKILL.md +22 -0
  86. package/templates/cursor/skills/shared/validation/SKILL.md +56 -0
  87. package/templates/cursor/skills/shared/verbs/_dispatch-utils.md +90 -0
  88. package/templates/cursor/skills/shared/verbs/_lifecycle.md +87 -0
  89. package/templates/cursor/skills/shared/verbs/_object-skills.md +60 -0
  90. package/templates/cursor/skills/shared/verbs/check/orchestrator/SKILL.md +22 -0
  91. package/templates/cursor/skills/shared/verbs/check/orchestrator/contract.yaml +24 -0
  92. package/templates/cursor/skills/shared/verbs/create/orchestrator/SKILL.md +39 -0
  93. package/templates/cursor/skills/shared/verbs/create/orchestrator/contract.yaml +34 -0
  94. package/templates/cursor/skills/shared/verbs/fix/orchestrator/SKILL.md +33 -0
  95. package/templates/cursor/skills/shared/verbs/fix/orchestrator/contract.yaml +38 -0
  96. package/templates/cursor/skills/shared/verbs/release/orchestrator/SKILL.md +29 -0
  97. package/templates/cursor/skills/shared/verbs/release/orchestrator/contract.yaml +25 -0
  98. package/templates/cursor/skills/shared/verbs/remove/orchestrator/SKILL.md +25 -0
  99. package/templates/cursor/skills/shared/verbs/remove/orchestrator/contract.yaml +32 -0
  100. package/templates/cursor/skills/shared/verbs/review/orchestrator/SKILL.md +24 -0
  101. package/templates/cursor/skills/shared/verbs/review/orchestrator/contract.yaml +25 -0
  102. package/templates/cursor/skills/shared/verbs/test/orchestrator/SKILL.md +24 -0
  103. package/templates/cursor/skills/shared/verbs/test/orchestrator/contract.yaml +25 -0
  104. package/templates/cursor/skills/shared/verbs/update/orchestrator/SKILL.md +34 -0
  105. package/templates/cursor/skills/shared/verbs/update/orchestrator/contract.yaml +34 -0
  106. package/templates/cursor/skills/shared/verification/SKILL.md +28 -0
  107. package/templates/cursor/skills/shared/workflow/SKILL.md +25 -0
  108. package/templates/docs/agentic_architecture.md +131 -0
  109. package/templates/docs/architecture.md +5 -0
  110. package/templates/docs/master_rules.md +5 -0
@@ -0,0 +1,90 @@
1
+ # AAAC ontology (first principles)
2
+
3
+ SSOT: [ontology.json](ontology.json). Regenerate graph and commands:
4
+
5
+ ```bash
6
+ node .cursor/aaac/generate-graph.mjs
7
+ node .cursor/aaac/generate-commands.mjs
8
+ ```
9
+
10
+ ## Hierarchy (how developers already think)
11
+
12
+ ```text
13
+ function → component → module → feature → domain → system
14
+ ```
15
+
16
+ Four layers in the graph:
17
+
18
+ | Layer | Objects | Examples |
19
+ |-------|---------|----------|
20
+ | **code** | function, component, module | `/fix-function`, `/review-component`, `/update-module` |
21
+ | **data** | schema, model, migration | `/update-schema`, `/create-migration` |
22
+ | **product** | feature, workflow, integration | `/create-feature`, `/check-workflow` |
23
+ | **system** | app, domain, architecture | `/release-app`, `/update-domain`, `/review-architecture` |
24
+
25
+ ## Verbs (unchanged)
26
+
27
+ create · update · fix · review · check · test · release · remove
28
+
29
+ ## Ludecker domains
30
+
31
+ | Slug | Bounded context |
32
+ |------|-----------------|
33
+ | `cms` | `apps/website` — public site + CMS admin |
34
+ | `ui` | `packages/ui` — design system |
35
+ | `database` | `supabase/migrations` — schema, RLS, type mirrors |
36
+
37
+ ## Granular aliases
38
+
39
+ Finer nouns (api, endpoint, hook, spec, skill, graph, …) map to a canonical command — see `command_aliases` in [ontology.json](ontology.json). Examples:
40
+
41
+ | You type | Resolves to |
42
+ |----------|-------------|
43
+ | `/update-api` | `update-integration` |
44
+ | `/fix-hook` | `fix-function` |
45
+ | `/update-doc` | `update-architecture` |
46
+ | `/update-design` | `update-component` (cms/ui resolver) |
47
+ | `/check-inventory` | `check-module` |
48
+ | `/create-skill` | `create-module` |
49
+ | `/ship-ludecker` | `release-app` |
50
+
51
+ ## Exceptions
52
+
53
+ | Command | Note |
54
+ |---------|------|
55
+ | `fix-bug` | Defect repair; domain resolver (`cms`, `ui`, `database`); unknown slug → `verb-fix` |
56
+ | `review-incident` | Production/deploy incident (`swarm-check` alias) |
57
+ | `test-function` | Journey verification (dedicated orchestrator) |
58
+ | `release-app` | Full platform ship (`ship-ludecker` alias) |
59
+ | `write-article` | Content research swarm → CMS persist |
60
+
61
+ ## Invalid `release-*`
62
+
63
+ Use `release-app`, `release-feature`, or `release-integration` — not `release-function`, `release-module`, `release-schema`, etc. (see `invalid_pairs` in graph).
64
+
65
+ ## Verb lifecycle and gates
66
+
67
+ **Work:** [lifecycle/lifecycle.json](lifecycle/lifecycle.json) → graph `verb_work_phases`
68
+ **Gates:** [governance/gates.json](governance/gates.json) → graph `governance_gate_stacks`
69
+ **Runtime (composed):** graph `verb_runtime` on Run at dispatch
70
+ **Run:** [run/schema.json](run/schema.json) — primary execution object
71
+
72
+ Phase → skill: [lifecycle/phases.json](lifecycle/phases.json)
73
+
74
+ ## Object capabilities
75
+
76
+ Ontology declares `object_capabilities` per object. Graph resolves to provider skills via [capabilities/registry.json](capabilities/registry.json). Generated `object_skills` in graph.yaml is derived — do not edit by hand.
77
+
78
+ Example: `component` → `[component-model, layer-boundaries, ui-design]` → `[component, architecture, ludecker-design-system]`
79
+
80
+ ## Domain argument
81
+
82
+ - **Required:** `update-module`, `update-domain`, …
83
+ - **Optional:** `*-function`, `review-incident`, `write-article`
84
+
85
+ ## Manual commands (not in graph)
86
+
87
+ | Command | Purpose |
88
+ |---------|---------|
89
+ | `/launch-ludecker` | Local dev: kill stale processes, clean `.next`, start `pnpm dev` |
90
+ | `/kill-ludecker` | Kill local dev port listeners |
@@ -0,0 +1,3 @@
1
+ {
2
+ "manual_commands": []
3
+ }
@@ -0,0 +1,72 @@
1
+ # Run — primary execution object
2
+
3
+ **Every AAAC command executes within a Run.** There is no standalone lifecycle execution or standalone logging.
4
+
5
+ Schema: [schema.json](schema.json)
6
+
7
+ ## Create Run (dispatch step 2.5 — after graph resolve, before orchestrator)
8
+
9
+ 1. Generate `run_id`: `run_{YYYYMMDD}_{short-slug}` or resume existing if user says `resume run_…`
10
+ 2. Compose runtime phases from [lifecycle/lifecycle.json](../lifecycle/lifecycle.json) + [governance/gates.json](../governance/gates.json):
11
+ - `pending` = work phases through `plan` + gate stack + work phases from `execute`
12
+ 3. Write manifest: `state/runs/{run_id}/run.json`
13
+ 4. Set `status: running`, `phase: first pending item`, `phase_kind: work`
14
+
15
+ ## Update Run (after every phase)
16
+
17
+ 1. Append to `log[]`
18
+ 2. Move phase from `pending` to `completed`
19
+ 3. Write checkpoint: `state/runs/{run_id}/checkpoints/{phase}.json`
20
+ 4. Store artifacts under `state/runs/{run_id}/artifacts/` — reference paths in `artifacts{}`
21
+ 5. Append routing/capability choices to `decisions[]`
22
+ 6. Persist `run.json`
23
+
24
+ ## Gate stack execution
25
+
26
+ After `plan` completes:
27
+
28
+ 1. Set `phase_kind: gate`, `gates.stack` from lifecycle
29
+ 2. Run each gate in [governance/gates.json](../governance/gates.json) order
30
+ 3. On fail → `status: blocked`, `awaiting_approval: true`, `blocked_reason`, **STOP**
31
+ 4. On pass → record in `gates.results`, continue to `execute`
32
+
33
+ ## Human approval
34
+
35
+ When `awaiting_approval: true`:
36
+
37
+ ```text
38
+ STOP — awaiting approval
39
+ Reason: {blocked_reason}
40
+ Run: {run_id}
41
+ ```
42
+
43
+ User approves → log decision, set `status: running`, `awaiting_approval: false`, retry or continue.
44
+
45
+ ## Observability
46
+
47
+ All observability lives on the Run:
48
+
49
+ | Field | Purpose |
50
+ |-------|---------|
51
+ | `decisions[]` | Why route/capability/gate |
52
+ | `log[]` | Phase and skill events |
53
+ | `checkpoints[]` | Resume points |
54
+
55
+ **No** append to standalone `decision-log.md` or `execution-log.md`.
56
+
57
+ ## Capability resolution (record on Run)
58
+
59
+ When resolving `object_capabilities` → providers:
60
+
61
+ ```yaml
62
+ capabilities_resolved:
63
+ layer-boundaries:
64
+ providers: [architecture]
65
+ source: object module
66
+ ```
67
+
68
+ MCP providers (type `mcp`) are recorded in decisions but do not map to graph skill keys.
69
+
70
+ ## Report
71
+
72
+ Final phase writes `artifacts.report` and sets `status: completed`.
@@ -0,0 +1,83 @@
1
+ {
2
+ "$schema": "aaac run — primary execution object",
3
+ "version": 1,
4
+ "description": "Every command executes within a Run. No standalone execution or logging.",
5
+ "run": {
6
+ "run_id": "run_{timestamp}_{slug}",
7
+ "command": "string",
8
+ "verb": "string",
9
+ "object": "string | null",
10
+ "domain": "string | null",
11
+ "intent": "string",
12
+ "orchestrator": "string",
13
+ "status": "pending | running | blocked | completed | failed",
14
+ "phase": "string | null",
15
+ "phase_kind": "work | gate | null",
16
+ "awaiting_approval": false,
17
+ "blocked_reason": "string | null",
18
+ "completed": [],
19
+ "pending": [],
20
+ "decisions": [],
21
+ "artifacts": {},
22
+ "checkpoints": [],
23
+ "log": [],
24
+ "capabilities_resolved": {},
25
+ "confidence": {
26
+ "architecture": null,
27
+ "requirements": null,
28
+ "scope": null
29
+ },
30
+ "gates": {
31
+ "stack": "string | null",
32
+ "results": {}
33
+ },
34
+ "created_at": "iso8601",
35
+ "updated_at": "iso8601"
36
+ },
37
+ "storage": {
38
+ "root": "aaac/state/runs/{run_id}/",
39
+ "manifest": "run.json",
40
+ "artifacts_dir": "artifacts/",
41
+ "checkpoints_dir": "checkpoints/"
42
+ },
43
+ "decision_entry": {
44
+ "at": "iso8601",
45
+ "phase": "string",
46
+ "decision": "string",
47
+ "reason": "string",
48
+ "evidence": "string"
49
+ },
50
+ "log_entry": {
51
+ "at": "iso8601",
52
+ "phase": "string",
53
+ "phase_kind": "work | gate",
54
+ "skill": "string | null",
55
+ "event": "phase_start | phase_complete | gate_pass | gate_fail | blocked | resumed",
56
+ "detail": "string"
57
+ },
58
+ "checkpoint_entry": {
59
+ "phase": "string",
60
+ "at": "iso8601",
61
+ "artifact_refs": [],
62
+ "outputs_summary": "string"
63
+ },
64
+ "artifact_keys": [
65
+ "plan",
66
+ "investigation",
67
+ "root_cause",
68
+ "impact",
69
+ "dependency_graph",
70
+ "fitness",
71
+ "rollback",
72
+ "report"
73
+ ],
74
+ "resume": {
75
+ "read_manifest": "state/runs/{run_id}/run.json",
76
+ "continue_from": "phase field when status running or blocked with user approval"
77
+ },
78
+ "human_approval": {
79
+ "when_blocked": "Set awaiting_approval true; do not execute until user approves in chat",
80
+ "on_approve": "status running; retry failed gate or continue pending",
81
+ "record_decision": "User approved gate {phase}: {reason}"
82
+ }
83
+ }
@@ -0,0 +1,20 @@
1
+ # Run checkpoints — per Run, per phase
2
+
3
+ Checkpoints live under each Run:
4
+
5
+ ```text
6
+ state/runs/{run_id}/
7
+ run.json
8
+ checkpoints/{phase}.json
9
+ artifacts/
10
+ ```
11
+
12
+ Gitignored except this README. Enables resume after gate block or crash.
13
+
14
+ Each checkpoint records:
15
+ - run_id, command, phase, timestamp
16
+ - outputs required by contracts/skills for that phase
17
+ - confidence, gate results when applicable
18
+ - next pending phase
19
+
20
+ Do not commit active runs to git.
@@ -0,0 +1,11 @@
1
+ # Agent: boundary-review
2
+
3
+ **Readonly.**
4
+
5
+ ## Role
6
+
7
+ Layer violations, fetch in UI, business logic in routes, cross-module coupling.
8
+
9
+ ## Return
10
+
11
+ Findings, Evidence, Severity (critical | suggestion), Confidence.
@@ -0,0 +1,18 @@
1
+ # Agent: check-capability-trace
2
+
3
+ **Readonly.** Do not edit files.
4
+
5
+ ## Role
6
+
7
+ Answer whether the codebase supports the asked capability and how it is implemented.
8
+
9
+ Trace: entry points (UI, API, MCP, CLI) → handlers → domain logic → persistence/external calls.
10
+
11
+ ## Return
12
+
13
+ - **Can do:** yes | no | partial (with conditions)
14
+ - **How:** numbered flow in product language
15
+ - Findings (bullets)
16
+ - Evidence (`path:line` for each claim)
17
+ - Gaps (unverified assumptions, missing tests, dead paths)
18
+ - Confidence: high | medium | low
@@ -0,0 +1,11 @@
1
+ # Agent: dependency-analysis
2
+
3
+ **Readonly.**
4
+
5
+ ## Role
6
+
7
+ Import direction, circular deps, god files, duplicate logic.
8
+
9
+ ## Return
10
+
11
+ Findings, Evidence, Gaps, Confidence.
@@ -0,0 +1,11 @@
1
+ # Agent: discovery-boundaries
2
+
3
+ **Readonly.**
4
+
5
+ ## Role
6
+
7
+ What is in scope vs out of scope for this domain? Handoffs to adjacent modules?
8
+
9
+ ## Return
10
+
11
+ Findings, Evidence, Gaps, Confidence.
@@ -0,0 +1,14 @@
1
+ # Agent: discovery-inventory
2
+
3
+ **Readonly.** Do not edit files.
4
+
5
+ ## Role
6
+
7
+ Find all files, routes, tests, and migrations belonging to the target domain.
8
+
9
+ ## Return
10
+
11
+ - Findings (bullets, product language in summary)
12
+ - Evidence (`path:line` for verification)
13
+ - Gaps (what could not be confirmed)
14
+ - Confidence: high | medium | low
@@ -0,0 +1,11 @@
1
+ # Agent: discovery-ssot
2
+
3
+ **Readonly.**
4
+
5
+ ## Role
6
+
7
+ Who owns state? Named state machines vs hooks? Duplicate SSOT risks?
8
+
9
+ ## Return
10
+
11
+ Findings, Evidence, Gaps, Confidence.
@@ -0,0 +1,9 @@
1
+ # Agent: fallow-check-changed
2
+
3
+ ## Role
4
+
5
+ Run Fallow MCP `check_changed` on touched files. Report new budget or boundary violations.
6
+
7
+ ## Return
8
+
9
+ Verdict, file scores, required extractions before merge.
@@ -0,0 +1,22 @@
1
+ # Agent: impact-analysis
2
+
3
+ **Readonly.** Do not edit files.
4
+
5
+ ## Role
6
+
7
+ Given an approved plan, list affected domains/systems and risk categories.
8
+
9
+ ## Inputs
10
+
11
+ - Plan summary (files, routes, migrations)
12
+ - [dependencies.yaml](../aaac/dependencies.yaml)
13
+ - Domain inventory constraints
14
+
15
+ ## Return
16
+
17
+ ```yaml
18
+ affected: [cms, ui, database, integration, ...]
19
+ risk: [migrations, breaking_contracts, auth, deployment]
20
+ blast_radius: low | medium | high
21
+ evidence: path:line bullets
22
+ ```
@@ -0,0 +1,11 @@
1
+ # Agent: plan-layer-map
2
+
3
+ **Readonly** until parent approves plan.
4
+
5
+ ## Role
6
+
7
+ Map user intent to layers (UI, store, domain, server, shared schemas). Flag files ≥80% size budget.
8
+
9
+ ## Return
10
+
11
+ Proposed file list, layer per file, extraction needs, risks.
@@ -0,0 +1,11 @@
1
+ # Agent: plan-state-machines
2
+
3
+ **Readonly.**
4
+
5
+ ## Role
6
+
7
+ Does this change need explicit state machine transitions? Name states/events if yes.
8
+
9
+ ## Return
10
+
11
+ Machine proposal or "local UI only", anti-patterns to avoid (race guards, useEffect orchestration).
@@ -0,0 +1,36 @@
1
+ # Agent: release-git
2
+
3
+ **Wave 1 — blocking.** Parent must not start Wave 2 until this agent returns success.
4
+
5
+ ## Role
6
+
7
+ Commit and push all pending work to `main` for the Lüdecker monorepo.
8
+
9
+ ## Inputs (from orchestrator)
10
+
11
+ - User intent (optional): e.g. "with tests" handled by preflight, not this agent
12
+ - `domain`: `production` (default)
13
+ - Flags from user message: `--no-commit`, `--message "…"`, `--dry-run`
14
+
15
+ ## Procedure
16
+
17
+ Follow [ship-procedure.md § Git](../skills/shared/platform-release/ship-procedure.md).
18
+
19
+ **Repo check:** `git rev-parse --show-toplevel` must be the ludecker monorepo.
20
+
21
+ ## Return
22
+
23
+ ```yaml
24
+ status: success | failed
25
+ commit_sha: string
26
+ commit_message_first_line: string
27
+ commit_message_body: string
28
+ evidence: git log -1 output
29
+ ```
30
+
31
+ ## Rules
32
+
33
+ - Never force-push `main`
34
+ - Never skip hooks unless user explicitly requested
35
+ - Never stage `.env*` or service role keys
36
+ - On failure: stop pipeline; do not start Render agent
@@ -0,0 +1,11 @@
1
+ # Agent: system-decomposition
2
+
3
+ **Readonly.**
4
+
5
+ ## Role
6
+
7
+ Can responsibilities split into smaller modules? Size budget hotspots?
8
+
9
+ ## Return
10
+
11
+ Findings, Evidence, recommended extractions, Confidence.
@@ -0,0 +1,19 @@
1
+ # Agent: unit-test-run
2
+
3
+ ## Role
4
+
5
+ Run targeted tests for paths from domain inventory. Report pass/fail with test names.
6
+
7
+ ## Lüdecker defaults
8
+
9
+ From repo root:
10
+
11
+ ```bash
12
+ pnpm typecheck
13
+ ```
14
+
15
+ If domain inventory lists vitest/jest targets, run those instead.
16
+
17
+ ## Return
18
+
19
+ Command run, exit code, failing test summary, suggested fix area (path only).
@@ -0,0 +1,8 @@
1
+ # Policy: Implementation governance
2
+
3
+ **Sources:**
4
+
5
+ - [{{DOCS_ROOT}}/architecture.md](../../{{DOCS_ROOT}}/architecture.md)
6
+ - [.cursor/skills/shared/governance/implementation/SKILL.md](../skills/shared/governance/implementation/SKILL.md)
7
+
8
+ Loaded on every mutating command. Architecture boundaries and SSOT rules apply before execute.
@@ -0,0 +1,7 @@
1
+ # Policy: Master rules
2
+
3
+ **Source of truth:** [{{DOCS_ROOT}}/master_rules.md](../../{{DOCS_ROOT}}/master_rules.md)
4
+
5
+ All AAAC orchestrators, skills, and agents **must** comply. Domain skills cannot weaken these rules.
6
+
7
+ When `governance/implementation` or `execution` runs, master rules override convenience.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: shared-api
3
+ description: >-
4
+ HTTP routes, BFF handlers, request/response contracts. Used by verb orchestrators
5
+ when object is api. Not user-facing.
6
+ disable-model-invocation: true
7
+ ---
8
+
9
+ # Shared API layer
10
+
11
+ ## Scope
12
+
13
+ - `server/routes/`, route handlers, middleware
14
+ - Request validation (Zod/schemas at boundaries)
15
+ - Auth and project scoping on endpoints
16
+ - OpenAPI or shared route constants if present
17
+
18
+ ## Execution focus
19
+
20
+ - One route family per change; no cross-cutting drive-by edits
21
+ - Validate at boundary; errors explicit and actionable
22
+ - CORS and origins per deploy policy
23
+
24
+ ## Discovery / check angles
25
+
26
+ Map: method + path → handler → service → DB/external.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: shared-architecture-review
3
+ description: >-
4
+ SOLID, boundaries, decomposition review. Used by review-module. Readonly.
5
+ Not user-facing.
6
+ disable-model-invocation: true
7
+ ---
8
+
9
+ # Shared architecture review
10
+
11
+ ## When
12
+
13
+ `review-module` orchestrator. **Readonly** unless user also invoked a code command.
14
+
15
+ ## Swarm
16
+
17
+ Parallel readonly agents per [boundary-review.md](../../../agents/boundary-review.md), [dependency-analysis.md](../../../agents/dependency-analysis.md), [system-decomposition.md](../../../agents/system-decomposition.md).
18
+
19
+ ## Depth
20
+
21
+ For file-level SOLID/size detail, also read [refactor-analysis.md](refactor-analysis.md) for target path.
22
+
23
+ ## Output
24
+
25
+ Prioritized findings: critical vs suggestion. No drive-by refactors unless user invoked `update-module` separately.
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: review-module-orchestrator
3
+ description: Orchestrates review-module — architecture and quality analysis. Internal only.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # review-module orchestrator
8
+
9
+ ## Parse
10
+
11
+ - **Domain:** slug or path hint
12
+ - **Intent:** quoted analysis goal
13
+
14
+ ## Phases
15
+
16
+ 1. Load domain inventory if slug maps in graph
17
+ 2. [discovery](../discovery/SKILL.md) — readonly, focused scope
18
+ 3. [architecture review](../SKILL.md)
19
+ 4. [reporting](../reporting/SKILL.md)
20
+
21
+ No code changes in this command alone.