Skip to content

fix(arckit-agent-architecture): one name per oversight tier, one level for the agent inventory, REQ after STKE (#949) - #972

Merged
tractorjuice merged 1 commit into
mainfrom
fix/949-agent-architecture
Oct 18, 2026
Merged

tractorjuice merged 1 commit into
mainfrom
fix/949-agent-architecture

Conversation

@tractorjuice

Copy link
Copy Markdown
Owner

Part of #949.

Brings the arckit-agent-architecture commands, guides, templates, README and recipe into line.

Decisions

1. Third oversight tier: Human-out-of-the-loop

agent-inventory called it "Autonomous with Audit". agent-governance, both templates and the core AAGI quality checks called it human-out-of-the-loop (the inventory template and the checklist wrote "out-of-loop").

The ladder is now Human-in-the-loop, Human-on-the-loop, Human-out-of-the-loop everywhere.

  • Source: the in / on (over) / out-of-the-loop ladder is the standard one. The Singapore PDPC/IMDA Model AI Governance Framework (2nd ed., 2020) defines human-out-of-the-loop as "no human oversight over the execution of decisions". The EU AI Act (Art. 14) and NIST AI RMF require human oversight but don't name tiers. No source uses "Autonomous with Audit".
  • Templates: both overlay templates already said out-of-the-loop, so the templates and the source agree.
  • What changed:
    • the agent-inventory command (register field; section F is now "Oversight Model", the template's name; summary counts; notes)
    • the inventory template
    • agent-architecture-reference.md
    • the core quality-checklist.md AAGI checks, synced to every plugin
    • the agent-governance quality check, which now requires the three named tiers instead of "≥3", matching the AAOV checks ("Three oversight tiers")
    • the inventory and governance guides

2. AAGI in agent-design: MANDATORY (warn if missing)

AAGI was listed under MANDATORY tagged "(recommended)", and again under OPTIONAL ("skip silently"). What the command actually does with the inventory:

  • it tells the user to run /arckit:agent-inventory first
  • its required Section 7 traceability starts AAGI → AAGR → REQ
  • the summary counts AAGI references
  • the recipe builds AAGI before AAGR

So I made it MANDATORY. I removed the OPTIONAL duplicate and the "(recommended)" tags on AAGI and REQ, which contradicted their own header. The design guide now marks both inputs Mandatory, as the governance, integration and security guides already do. docs/DEPENDENCY-MATRIX.md (both copies) and docs/commands.html already show agent-inventory as M for agent-design, so they are unchanged.

3. AASC/AAIT

PR #964 already fixed these. No file uses them now; only CHANGELOG history mentions them.

4. Recipe

  • REQ deps [PRIN] → [PRIN, STKE], because /arckit:requirements reads STKE as MANDATORY. Waves: STKE 2, REQ 3.
  • AAMT deps now include AAIN. agent-maturity reads AAIN as recommended and uses it as the evidence source for its Integration dimension. This doesn't change any wave.
  • The README said "6 phases: inventory → design → governance → integration → security → maturity". The recipe description said "integration, governance, security". The recipe actually runs AAOV, AAIN and AASE in parallel after AAGR. Both texts now say that.

5. Read-through fixes (clear-cut)

  • agent-security named the Secure by Design input SEC/SBD, codes that aren't registered. It now names SECD (/arckit:secure) or SECD-MOD (/arckit:mod-secure) in the command and the template traceability row. The guide already said SECD. These are the same class of code as fix: overlay commands, templates and guides name registered doc-type codes (#949) #964.
  • agent-security quality checks asked for "at least 3" sandboxing components and "at least 3" data types. Section B, the template and the AASE checks require all five boundaries and all four data types (PII, sensitive, public, model weights). The checks now require all of them.
  • BORD was called "Board Review" in agent-governance and agent-maturity. The registered name is the Architecture Board Charter, written by /arckit:architecture-board in the TOGAF ADM overlay.
  • agent-maturity:
    • "maturity-model output from core" now names MMOD
    • "Note that the guide is unavailable" now says the agent inventory is unavailable
    • two RECOMMENDED blocks are merged into one
    • "all 6 sections" → 7, because the template has §7 External References
    • the template's traceability adds AASE and AAIN rows, as the guide already listed them
  • agent-design:
    • tool types no longer include "Database"; the template and AAGR checks list MCP / REST / Function
    • agent IDs reuse the inventory's AGT-xxx
  • agent-inventory memory types now include Episodic, as the template and reference already did.
  • Guides:
    • inventory: ADMP is Recommended, not Optional. The deliverable snapshot now matches the template; lifecycle values were "prototype, pilot, production…" against the template's Active / In Development / Deprecating / Retired.
    • design: the testing list now matches the template (unit, integration, security, performance).
    • governance: dropped a RISK input the command never reads, and listed the regulatory and governance-policy inputs it does read.
    • integration: replaced an HLD/diagrams input the command never reads with the PRIN and ADMP inputs it does read.
  • README: agent-integration covers inter-agent contracts, not tool contracts. Tool contracts are in agent-design.

Judgement calls (left as they are)

  • The order of governance, security and integration isn't settled by the inputs.

    • security ↔ governance hand off to each other, and each command's notes say it "feeds into" the other. Only security reads the other's output (AAOV, optional).
    • agent-integration hands off to governance and security, but neither reads AAIN. Integration reads AAOV as recommended and AASE as optional, so the inputs suggest governance → security → integration.
    • The recipe runs all three in parallel, so integration never sees AAOV during a build.

    I documented the recipe as it runs and didn't change handoffs or add AAIN → AAOV / AASE → AAOV deps. Settling one direction is a maintainer call.

  • The agent-governance template's escalation flowchart shows Low, Medium and High. Section E of the command also defines Critical. The quality check asks for low, medium and high only.

  • agent-maturity cites a "UK AI Centre maturity model" as a benchmark. I couldn't confirm that source.

Left open

  • agent-design still carries the old "Maximum 2 rounds" interview boilerplate, and Question 2 has no (Recommended) option. tests/plugin/test_interview_pattern.py only covers core commands. This is outside docs: overlay commands, guides and templates disagree on facts #949's scope.
  • Core /arckit:jsp-936 uses "Human-in-loop / on-loop / out-of-loop" (without "the"). That is a core MOD command, not this overlay, so I didn't touch it.
  • v1.0 write targets and version-detection wording are untouched; a later sweep covers those.

Files changed (source)

  • plugins/arckit-agent-architecture/commands/agent-{inventory,design,governance,security,maturity}.md
  • plugins/arckit-agent-architecture/templates/agent-{inventory,security,maturity}-template.md, plus the identical .arckit/templates/ copies
  • docs/guides/agent-{inventory,design,governance,integration}.md, synced to the plugin copies with check-guide-parity.py --sync
  • plugins/arckit-agent-architecture/references/agent-architecture-reference.md
  • plugins/arckit-claude/references/quality-checklist.md (2 lines), synced with sync-shared-assets.py
  • plugins/arckit-agent-architecture/recipes/agent-architecture.yaml
  • plugins/arckit-agent-architecture/README.md
  • the nested plugins/arckit-claude/plugins/ mirror, via sync-claude-plugin-layout.py

Checks

  • pytest: 2420 passed, 228 skipped
  • node --test tests/plugin/*.test.mjs tests/plugin/test_*.mjs tests/certification/*.test.mjs: 653 passed, 0 failed
  • run_lint_checks.py: 34 checks, 0 failed
  • markdownlint-cli2@0.18.1 "**/*.md": 0 errors (4321 files)

🤖 Generated with Claude Code

…l for the agent inventory, REQ after STKE (#949)

Oversight tiers. agent-inventory called the third tier "Autonomous with
Audit"; agent-governance, both templates and the AAGI quality checks
called it human-out-of-the-loop. The ladder is now Human-in-the-loop,
Human-on-the-loop, Human-out-of-the-loop everywhere. That is the
established three-tier vocabulary (Singapore PDPC/IMDA Model AI
Governance Framework, 2nd ed. 2020: in-the-loop / over-the-loop /
out-of-the-loop, "no human oversight over the execution of decisions");
"Autonomous with Audit" is not a term any source uses, and the overlay's
templates already said out-of-the-loop.
- agent-inventory command: register field, section F (now "Oversight
  Model", as the template names it), summary counts, important notes
- agent-inventory template: "out-of-loop" -> "out-of-the-loop"
- agent-architecture-reference.md: "Autonomous with Audit" heading
- core quality-checklist AAGI checks: "human-out-of-loop" ->
  "human-out-of-the-loop" (synced to every plugin)
- agent-governance: the quality check now requires the three named
  tiers, not ">=3", matching the AAOV checks
- agent-inventory and agent-governance guides name the three tiers

AAGI level in agent-design. The command listed the agent inventory
under MANDATORY tagged "(recommended)" and again under OPTIONAL ("skip
silently"). It is MANDATORY (warn if missing): the command tells the
user to run /arckit:agent-inventory first, Section 7 traceability starts
AAGI -> AAGR -> REQ, the recipe builds AAGI before AAGR, and the
dependency matrix and commands.html already show it as M. The OPTIONAL
duplicate and the "(recommended)" tags on AAGI and REQ are removed; the
design guide marks both inputs Mandatory. No matrix change needed.

AASC/AAIT (PR #964): no file still uses them.

Recipe. REQ ran in the same wave as STKE, but /arckit:requirements reads
the stakeholder analysis as MANDATORY: REQ now depends on STKE. AAMT now
also depends on AAIN, which agent-maturity reads for its integration
dimension. The README and recipe description now say what the recipe
runs: governance, integration and security in parallel after design.

Read-through fixes:
- agent-security named Secure by Design as SEC/SBD (unregistered); now
  SECD (/arckit:secure) or SECD-MOD (/arckit:mod-secure), command and
  template
- agent-security quality checks asked for >=3 sandboxing components and
  >=3 data types while section B, the template and the AASE checks
  require all five boundaries and all four data types
- agent-governance and agent-maturity called BORD "Board Review"; it is
  the Architecture Board Charter from /arckit:architecture-board
- agent-maturity: "maturity-model output from core" is MMOD; "the guide
  is unavailable" meant the agent inventory; duplicate RECOMMENDED block
  merged; "all 6 sections" -> 7 (the template's External References);
  template traceability adds AASE and AAIN
- agent-design tool type dropped "Database" to match the template and
  AAGR checks (MCP / REST / Function); agent IDs reuse inventory AGT-xxx
- agent-inventory memory types add Episodic, as template and reference do
- guides: inventory ADMP Recommended (was Optional) and deliverable
  snapshot matched to the template; design testing list matches the
  template; governance guide drops a RISK input the command never reads;
  integration guide swaps an HLD input it never reads for PRIN/ADMP
- README: agent-integration covers inter-agent, not tool, contracts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tractorjuice tractorjuice added the bug Something isn't working label Oct 18, 2026
@tractorjuice
tractorjuice merged commit 309d0a6 into main Oct 18, 2026
3 checks passed
@tractorjuice
tractorjuice deleted the fix/949-agent-architecture branch October 18, 2026 11:35
MarkkuPekkarinen pushed a commit to MarkkuPekkarinen/arc-kit that referenced this pull request Oct 18, 2026
…message (tractorjuice#946, tractorjuice#949)

tractorjuice#946 fixed core; the overlays had the same defect. 113 overlay commands
that write a single-instance artefact had no version step, and the 62
that call generate-document-id.mjs never passed a version, so the script
defaulted to v1.0 and every re-run replaced the earlier document.

- Every one now follows references/version-detection.md (already synced
  into each overlay): generate-document-id.mjs calls pass {VERSION},
  [VERSION] field lines point at the reference, and the rest state the
  rule at their document-ID / write step. 38 commands' own placeholder
  paths move from v1.0 to v{VERSION}; ai-playbook and atrs examples too.
- test_version_detection.py now covers core and every overlay (and the
  overlay placeholder forms ARC-<id>-, ARC-NNN-).
- Questions: agent-design moves from "Maximum 2 rounds" to the
  one-message interview (Scope gains a Recommended default: Task
  Automation); four uk-gcloud commands point their clarifying questions
  at interview-pattern.md. test_interview_pattern.py now covers every
  overlay; arckit-fde is exempt with a reason (standalone tooling, its
  site wizard asks one concern at a time and ships no shared references).
- check_recipes.py: every recipe now runs REQ after STKE, so the
  ORDER_RULES_PENDING warning list is gone; violations are errors.
- Three tests that pinned the old unversioned generate-document-id call
  now expect {VERSION}.
- CHANGELOG: one entry for the tractorjuice#949 overlay fact corrections (tractorjuice#965-tractorjuice#968,
  tractorjuice#970, tractorjuice#972-tractorjuice#980), one for the recipe order (tractorjuice#969), one for this change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant