Repository navigation
fix(arckit-togaf-adm): put the capability map in Phase B, register ACHG as multi-instance, use TOGAF's change classes (#949) - #976
Merged
Conversation
…HG as multi-instance, use TOGAF's change classes (#949) Business capability map phase. The command, guide and both READMEs put /arckit:business-capability-map in Phase A; architecture-change put it in Phase B. The Open Group's TOGAF 9.2 business-architecture briefing (2018), whose ADM text the TOGAF Standard, 10th Edition carries forward, says Phase A "introduces initial business capabilities and value streams" and lists Business Capability Mapping as a key addition to Phase B's steps and outputs. The command, guide, overlay README, root README, commands.html and adm-preliminary's next steps now say Phase B and note that Phase A sketches capabilities at a high level. pubs.opengroup.org needs a login, so the wording is chosen to hold whichever phase a reader's edition stresses. Application inventory phase. The command said "Phase C (Technology Architecture)". In the TOGAF Standard, 10th Edition, Phase C is Information Systems Architectures (Data and Application) and Phase D is Technology Architecture; the Application Portfolio catalog is a Phase C Application Architecture artefact. Command and guide now say so. The overlay's togaf-adm-reference.md had the same errors (Phase C "Data Architecture", Phase D "Application and Technology", Architecture Vision in Preliminary) and is corrected too. ACHG change requests. /arckit:architecture-change writes changes/ARC-{P}-ACHG-{NUM}-v1.0.md, but ACHG was not in MULTI_INSTANCE_TYPES and SUBDIR_MAP had no changes entry, so validate-arc-filename.mjs read ACHG-001 as the doc-type and blocked every write. doc-types.mjs now registers both. A new test fails any command, agent, template or guide that writes a numbered filename for a single-instance code. The command had 3 change types and the guide 4; both now use TOGAF Phase H's three classes (simplification, incremental, re-architecting) and treat urgency as priority. The core ACHG quality checklist entry, the template and the board charter's cross-reference follow, and the ADM re-entry question drops from 8 options (more than the question tool takes) to 4. One-message interviews. application-rationalization, architecture-change and transition-architecture still allowed two rounds of questions. They, and the four other overlay commands that ask a question, now follow references/interview-pattern.md with one (Recommended) option per question. APP used for principles. gap-analysis, architecture-board and architecture-change listed ARC-{P}-APP (the Application Inventory) as an Architecture Principles source and duplicated PRIN. They now read the one PRIN artefact in 000-global. Recipes. togaf-adm-full and togaf-agent-full ran REQ in the same wave as STKE; REQ now depends on STKE. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026
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.
Part of #949.
Fixes the TOGAF ADM items in the "TOGAF ADM and Open Agile Architecture" section, plus the interview, APP/PRIN and recipe findings for
arckit-togaf-adm. Nothing underplugins/arckit-oaa/was edited by hand; see "Core files changed" for the one mechanical sync that reaches it.Decisions
architecture-changesaid Phase B)ACHGadded toMULTI_INSTANCE_TYPES,'ACHG': 'changes'added toSUBDIR_MAPvalidate-arc-filename.mjsonly splits-001off for a multi-instance code, so it readACHG-001as the doc-type and blocked every write the command attempted.references/interview-pattern.md, exactly one (Recommended) per single-select questiontests/plugin/test_interview_pattern.pyrules, mirrored fromdfd.md/roadmap.mdgap-analysis,architecture-board,architecture-changenow citeARC-000-PRIN. Each listedARC-{P}-APP(Application Inventory) as "Architecture Principles" and duplicated the PRIN prerequisitedoc-types.mjs: APP is Application Inventory, PRIN is Architecture Principles in000-globalREQnowdeps: [PRIN, STKE]intogaf-adm-fullandtogaf-agent-fullca-federal-fitaa.yaml; requirements read the stakeholder analysispubs.opengroup.orgredirects to a login, so I couldn't fetch the 10th Edition text directly. The phase decisions rest on The Open Group's own 2018 briefing (fetched) and the 10th Edition chapter and section titles in search results. The capability-map wording is true either way: TOGAF lists a Business Capability Map as an output of both A (initial) and B (developed). This command builds the full maturity-scored hierarchy, which is the Phase B artefact.Files changed
Overlay (
plugins/arckit-togaf-adm/)commands/business-capability-map.md: Phase B in the description, intro and TOGAF Alignment note; one-message interview (Depth)commands/application-inventory.md: Phase C Information Systems / Application Architecture; one-message interview (Coverage)commands/adm-preliminary.md: next step and feeds-into say Phase B; TOGAF Alignment separates Preliminary outputs from the Phase A Architecture Vision; one-message interview (ADM scope)commands/architecture-change.md: TOGAF change classes; one-message interview; the ADM re-entry question goes from 8 options (the question tool takes at most 4) to a 4-option single-select defaulting to "derive from the impact assessment"; PRIN instead of APP in Synthesised From; APP (Application Inventory) listed as an OPTIONAL input, matching DEPENDENCY-MATRIXcommands/architecture-board.md: one PRIN entry; the APP "domain principles" line removed; ACHG cross-reference nameschanges/ARC-{P}-ACHG-{NNN}commands/gap-analysis.md: the duplicate PRIN entries merged; APP line removed; "STRAT and PRIN"; one-message interview (Weighting)commands/application-rationalization.md,commands/transition-architecture.md: one-message interviewtemplates/architecture-change-template.md,templates/architecture-board-template.md(+.arckit/templates/copies, byte-identical)references/togaf-adm-reference.md: Preliminary, A, B, C, D and H descriptions corrected (it had Phase C as "Data Architecture" only, Application Architecture under Phase D, and the Architecture Vision in Preliminary)recipes/togaf-adm-full.yaml,recipes/togaf-agent-full.yamlREADME.mddocs/guides/{business-capability-map,application-inventory,architecture-change}.md(canonical), synced to the overlay withcheck-guide-parity.py --syncSite / root docs:
README.md(BPCM row → Phase B),docs/commands.html(BPCM description → Phase B). No input level or handoff changed, soDEPENDENCY-MATRIX.mdis unchanged.Core files changed
plugins/arckit-claude/config/doc-types.mjs:ACHGinMULTI_INSTANCE_TYPES;'ACHG': 'changes'inSUBDIR_MAP. I checked every consumer.generate-document-id.mjs,validate-arc-filename.mjs,okf-frontmatter.mjs,update-manifest.mjs,project-context-builder.mjsandsync-guides.mjsall import the sets and derive from them, so none needed an edit.pages.mdalready listsACHGwith aARC-*-ACHG-*.mdglob that matches the numbered form.plugins/arckit-claude/references/quality-checklist.md(shared asset): the ACHG section now names the TOGAF classes and re-entry rule.sync-shared-assets.pycopied it to all 16 community plugins andsync-claude-plugin-layout.pyto the nested mirror. That includesplugins/arckit-oaa/references/quality-checklist.md, a byte copy CI requires; no OAA content changed.tests/plugin/test_doc_type_registry.py: the docstring count goes from 20 to 21 multi-instance codes, plus a new test that fails when any command, agent, template or guide writes a numbered filename (-001-v,-{NUM}-v,-[NNN]-v) for a code outsideMULTI_INSTANCE_TYPES. I checked that it fails onmain's registry, naming ACHG atarchitecture-change.md:133/259/281anddocs/guides/architecture-change.md:28.tests/plugin/generate-document-id.test.mjs: pins001 ACHG --relpath→changes/ARC-001-ACHG-001-v1.0.md.Judgement calls
adm-preliminary,application-inventory,business-capability-mapandgap-analysisalready had one question with a default, but no pattern pointer and no (Recommended) marker. Converting all seven keeps the overlay on one contract. I kept headers at 12 characters or fewer and avoidedScope, which the build harness's defaults table maps toFull system.togaf-adm-reference.mdisn't read by any command but ships in every extension, so it was corrected rather than left contradicting the commands.Left open
gap-analysis: the guide and the recipe treat the Application Inventory as an input (deps: [BPCM, APP, APPR, ...]), but the command's prerequisites don't read it. This is a genuine APP use, not the principles confusion. I left the input level alone because changing it changes DEPENDENCY-MATRIX./arckit:pagesdashboard template renders no bucket forchanges/, and none foraudits/orframework/either. The manifest records the files, but the HTML template doesn't list them. This was already the case for the other two, and before this PR ACHG files couldn't be written at all.scripts/python/generate-document-id.pyand its plugin copy keep a stale hardcoded multi-instance list that was already missing TNDR, CMPT, GRNT and CDAU. Nothing calls them; I didn't add ACHG to a list that is already wrong.Checks
uv run --no-project --with pytest --with pyyaml --with-editable . python -m pytest -q -p no:cacheprovider: 2421 passed, 228 skippednode --test tests/plugin/*.test.mjs tests/plugin/test_*.mjs tests/certification/*.test.mjs: 654 pass, 0 failnpx --yes markdownlint-cli2@0.18.1 "**/*.md": 0 error(s)check-guide-parity.py --sync,sync-shared-assets.py,sync-claude-plugin-layout.pyandconverter.pyall run after rebasing onmain(62a52ee); the generated Codex and Gemini outputs carry the new change classes.🤖 Generated with Claude Code