Skip to content

Engineering Workspace Capability Matrix ​

Status ​

Evidence-backed W0 exit gate for the Project Design and Development Workspace. Revalidated against verified main at 208f7c4 (2026-08-11).

This document distinguishes implemented, partial, planned, and blocked surfaces using repository evidence — not roadmap checkboxes alone. Synchronization states follow CORE_CLIENT_PARALLEL_DEVELOPMENT_PROTOCOL.md.

Verified baseline ​

ItemEvidence
Verified mainde9b473 — W4 Core blueprint resolver (#295)
W1 Core + ClientMerged through PR #286 + PR #287 (2f63f99)
W2 CoreMerged through PR #288 (329dec3)
W2 ClientMerged through PR #289 (208f7c4)
Workspace planning docsMerged through PR #285 (10ff713)
Open PRsNone at W2 Client merge time
Active branch on mainmain

Synchronization states (reference) ​

StateMeaning
ready-nowCore contract merged; clients may integrate now
ready-against-frozen-fixtureContract/fixture frozen in review; parallel client work allowed
core-firstSemantics or schema not stable; Core must land first
integration-pendingCore exists; parity, transport, or docs incomplete
blockedSecurity, architecture, or release gate prevents work
futureIntentionally outside current phase

1. Existing-project flow ​

Canonical read-only path: Open root → Inspect → Adoption readiness → Graph → Quality → Assessment → Findings → Remediation preview.

CapabilityApplicationProtocol / schemaValidatorDaemon RPCCLI (intentloom)DesktopTUIMCPSync stateEvidence
Project inspectimplementedINSPECT_METHODyesintentloom.inspect.v1inspectOverview/Inspect viewspartial UXpartialready-nowpackages/application inspectProject; tests/cli-inspect.test.ts
DoctorimplementedDOCTOR_METHODyesintentloom.doctor.v1doctorDoctor viewpartial UXpartialready-nowdoctorProject; Desktop read-only Doctor
DiffimplementedPROJECT_DIFF_METHODyesintentloom.project.diff.v1diffDiff Reviewimplementedpartialready-nowdiffProject; daemon + Desktop wired
TimelineimplementedPROJECT_TIMELINE_METHODyesintentloom.project.timeline.v1timelineTimeline viewimplementedpartialready-nowtests/cli-timeline.test.ts
Adoption plan / applyimplementedadoption contractsyesplan/decisions/prepare/revalidate/approve plus mutating intentloom.existing-project.adoption.apply.v1adopt, updatepreview + decisions + prepared-plan + explicit approval + Applyimplementedpartialready-nowBounded transactional Apply reuses adoptProject / synchronizeGeneratedFiles; handled-error rollback only; crash journal not claimed. Vii daemon-path dogfood 2026-08-19; final maintainer packaged/dev verification 2026-08-21 — Desktop Existing-Project Adoption complete
Conformanceimplementedconformance typesyesENGINEERING_CONFORMANCE_METHODconformancenot first-class W9 screenpartialpartialintegration-pendingtests/cli-conformance.test.ts
Provider sync / diffimplementedsync contractsyesno dedicated RPCsync, diff—partialpartialintegration-pendingtests/cli-provider-sync.test.ts
Engineering Quality (Q1–Q18)implementedversioned QUALITY_*_SCHEMA_URNyesQUALITY_STANDARDS/CATALOG/CHECKERS/GRAPH methodsnot wired to packages/cli binaryviewmodels (Q14)viewmodels (Q14)implemented (Q15)integration-pendingrunQualityCliCommand et al. in @intentloom/application; tests/cli-engineering-quality.test.ts calls application directly; usage.ts omits quality commands
Specialized Packs catalog/detect (S1–S6)implementedQUALITY_SPECIALIZED_PACK_*, RPC helpersyesintentloom.specialized-packs.catalog.v1, .detect.v1not wired to binaryparity fixtures (Q14/S6)parity fixturesMCP toolsintegration-pendingrunSpecializedPacksCliCommand; tests/cli-specialized-packs.test.ts, tests/daemon-specialized-packs.test.ts
Specialized Packs deterministic checks (S7)implementedQUALITY_SPECIALIZED_PACK_CHECK_*_SCHEMA_URNyesintentloom.specialized-packs.checks.v1runSpecializedPacksCliCommand checksshared viewmodel/parityshared viewmodel/parityintentloom_specialized_packs_checksready-nowspecialized-pack-check-engine.ts; specialized-pack-handlers.ts; specialized-pack-tools.ts; 34 focused client contract tests; pnpm verify green
Engineering Assessments (A1–A22 app layer)implementedASSESSMENT_*_SCHEMA_URNyesno assessment RPCno assessment commands in usage.tsviewmodel directionviewmodel directionpartialintegration-pendingpackages/application/src/engineering-assessment/; extensive contract tests; no daemon/CLI transport
Agent Workspace (discuss/inspect/plan/review)implementedworkspace conversation recordsyesSESSION_GET_METHOD (session slice)workspace, uiAgent Workspace modespartialpartialintegration-pendingDistinct from Engineering Workspace product concept (see §5)
Evidence fetch / MCP equivalenceimplementedevidence contractsyespartialevidence——implementedready-nowRead-only evidence hardening gate closed
Approved apply / transactionsimplementedAPPROVED_APPLY_METHODyesyesvia adoption/update apply pathsgated apply UXpartialpartialready-nowTransaction boundary exists; W9 composes into one flow later

Existing-project W9: Composed Desktop Open Project flow and CLI helper now exist on main (0c948c3, PR #304). Underlying engines remain the source of truth; W9 orchestrates inspect → specialized detection → doctor → assessment without a second engine.


2. New-project flow — Project Inception I1–I10 vs Engineering Workspace W1–W7 ​

Project Inception phases (application evidence on main) ​

PR #167 merged I1–I10 application operations and contract tests. No schemaVersion / protocol URNs exist for inception types. No CLI, daemon, or MCP surfaces expose inception. No tests/fixtures/inception/ tree.

Inception phaseApplication opsTestsProtocol URNsCLI / daemonSync stateNotes
I1 Read-only contractscreateInceptionSession, recordInceptionAnswer, summarizeInceptionState, exportInceptionSessionMarkdowninception-contracts.test.tsnonenoneintegration-pendingValidators in packages/validator/src/inception-base.ts
I2 Neutron discoverygenerateAdaptiveInceptionQuestions, identifyInceptionConflicts, evaluateDiscoveryCompletenessinception-discovery.test.tsnonenonepartial / core-first for real providerDeterministic adaptive questions only; no live Neutron provider adapter
I3 Blueprint resolverproposeProjectBlueprints, compareProjectBlueprints, computeBlueprintDigestinception-blueprint.test.tsnonenoneintegration-pending
I4 Blueprint storage/reviewapproveBlueprint, revokeBlueprintApproval, exportBlueprintYaml, parseBlueprintYamlinception-approval.test.tsnonenoneintegration-pending
I5 Scaffold plannerprepareProjectScaffoldPlan, formatScaffoldPlanDryRun, diffScaffoldPlaninception-scaffold-planner.test.tsnonenoneintegration-pendingSide-effect free in tests
I6 Transactional applyapplyFoundationProjectScaffold, rollbackFoundationProjectScaffold (wrap I6)foundation-scaffold-apply.test.tsfoundation apply/rollback RPCCLI scaffold-apply/scaffold-rollbackW7 complete on main (0af87a1, PR #300+#301)Foundation gate + revalidation; Desktop/TUI parity
I7 Library workspace starterworkspace scaffold helpers + invariantsinception-workspace-scaffold.test.ts, foundation-scaffold-workspace.test.tsnonenoneW8 complete on main (0b42163, PR #302+#303)Expanded W8 shape: core/react/testing/examples; Desktop/TUI workspace tree
I8 Dependency / Git plansprepareDependencyInstallPlan, prepareGitInitPlaninception-actions.test.tsnonenoneintegration-pendingPlans only; no execution surface
I9 Desktop/TUI product flowinitializeInceptionFlow, advanceInceptionFlow, generateFlowReviewCardinception-flow.test.tsnonenonecore-firstFlow state machine exists; no client UI
I10 Third-party templatesregisterStarterTemplate, resolveStarterTemplate, buildTemplateScaffoldPlaninception-templates.test.tsnonenonefuture for managed extensionsRegistry in application only

Missing operations referenced by W1 / inception plan but absent from code:

  • getInceptionSession — no function; callers hold in-memory state only
  • listInceptionQuestions — no function; questions embedded in session state
  • Session persistence, retention, export-to-JSON, and delete lifecycle
  • Versioned INCEPTION_*_SCHEMA_URN identifiers on protocol types

Engineering Workspace phases (plan vs evidence) ​

W phasePlan intentCurrent evidenceSync state
W0Capability map + state reconciliationthis document + updated PROJECT_STATE.md / DUTY_WATCH.mdcomplete
W1Versioned inception session contracts + daemon + CLI JSON + fixtures + client surfacesMerged on main (2f63f99, PR #286 Core + PR #287 Client)complete — frozen fixtures + Desktop/TUI parity
W2Foundation Workshop typed state + readiness + client surfacesMerged on main (208f7c4, PR #288 Core + PR #289 Client); see §3complete — frozen fixtures + Desktop/TUI parity
W3Neutron discovery integration for Foundation pathMerged Core + Client on main (be81bed, PR #293)complete — frozen fixtures + Desktop/TUI parity
W4Blueprint alternatives (workspace naming)Core + Client merged on main (92e82fb, PR #296)complete — Desktop/TUI parity
W5CLI/daemon/client parity freezeInception + foundation + blueprint top-level on main (#290, #297)complete
W6Minimal scaffold planner (workspace gate)Core + Client merged on main (7ff98e4, PR #298 + #299)complete — Desktop/TUI parity
W7Transactional empty-root creationCore + Client merged on main (0af87a1, PR #300 + #301)complete — Desktop/TUI parity
W8Library ecosystem starter and dogfoodingMerged on main (0b42163, PR #302 Core + PR #303 Client)complete — Desktop/TUI workspace tree parity
W9Existing-project composed inspect/assessment flowMerged on main (0c948c3, PR #304 Core+Client)complete — frozen fixtures + Desktop/TUI parity
W10Feature intent and architecture impactMerged on main (5795c6c, PR #305 Core + PR #306 Client)complete — frozen fixtures + Desktop/TUI parity
W11Bounded implementation executionMerged on main (19f2582, PR #307 Core + PR #308 Client)complete — frozen fixtures + Desktop/TUI parity
W12Continuous development loopMerged on main (68e05dd, PR #310 Core + PR #311 Client + #312)complete — frozen fixtures + Desktop/TUI parity

3. Foundation Workshop gap (W2) ​

SurfaceStatusEvidence
Application operations (createFoundationWorkshop, …)implementedpackages/application/src/foundation-workshop.ts + readiness/conflicts
Protocol schemas / URNsimplementedfoundation-workshop.ts, foundation-common.ts, foundation-daemon-rpc.ts
Validatorimplementedpackages/validator/src/foundation-base.ts, foundation-contracts.ts
Testsimplementedtests/foundation-*.test.ts, tests/daemon-foundation.test.ts
CLI app helperimplementedrunFoundationCliCommand in foundation-cli.ts
Daemon RPCimplemented9 read-only methods in foundation-handlers.ts
CLI binary / Desktop / TUIimplemented (main + branch)Desktop/TUI on main; W5 inception/foundation binary routing on branch

Sync state: W2 complete on main — Core (PR #288) and Client (PR #289) with Desktop/TUI parity tests against six frozen fixture IDs.

Foundation Workshop is a separate product layer on top of inception session semantics. W1 delivers session contracts only; W2 adds actors, workflows, domain model, quality scenarios, readiness findings, and deterministic readiness rules.


4. Specialized Engineering Packs S1–S7 ​

PhaseCapabilityCore / appProtocol URNsDaemonCLI app helperCLI binaryDesktop/TUIMCPSync state
S1 Disciplines / rolesimplementedyesQUALITY_DISCIPLINE_*, QUALITY_ROLE_*via quality graph pathindirectunwiredviewmodelspartialintegration-pending
S2 Manifests / trustimplementedyesQUALITY_SPECIALIZED_PACK_*catalog pathindirectunwiredviewmodelspartialintegration-pending
S3 AliasesimplementedyesQUALITY_DISCIPLINE_ALIAS_*—————ready-now (app only)
S4 Detectionimplementedyesdetection rule/result/resolution URNs.detect.v1runSpecializedPacksCliCommand detectunwiredparity testsdetect toolintegration-pending
S5 First-party catalogimplementedyescatalog entries in catalog/packs/specialized-engineering/.catalog.v1list, explainunwiredparity testscatalog toolintegration-pending
S6 Client surfacesimplemented for catalog/detectviewmodels + bridgeRPC helpers in specialized-daemon-rpc.tscatalog + detectS6 commandsunwireddesktop-tui-engineering-quality.test.ts2 toolsintegration-pending
S7 Deterministic checkscore-onlyregisterSpecializedPackCheckDefinition, runSpecializedPackDeterministicChecks, resolveFirstPartySpecializedPackChecksQUALITY_SPECIALIZED_PACK_CHECK_*_SCHEMA_URNmissing intentloom.specialized-packs.checks.v1 (proposed)missing check subcommandmissingmissingmissingcore-first for clients

S7 note: PR #284 merged Core checks with 7 contract tests. Client surfaces were explicitly out of scope for S7. Next client slice is a separate atomic PR (S7b or W5 parity increment), not W1.

First-party check definition IDs (stable for fixtures):

  • Linked to manifests in catalog/packs/specialized-engineering/ via providedRuleIds
  • Validated in tests/engineering-quality-specialized-deterministic-checks.test.ts

5. Naming collisions and contract boundaries ​

Agents must not conflate these distinct identifiers:

NameMeaning todayCollision riskResolution for workspace work
Engineering WorkspaceProduct concept: new + existing project flows (PROJECT_DESIGN_AND_DEVELOPMENT_WORKSPACE.md)vs Agent Workspace CLI (intentloom workspace)Use full term Engineering Workspace in roadmap/docs; Agent Workspace stays AgentWorkspaceMode / .aif/workspace/
Agent WorkspaceDiscuss / inspect / plan / review conversationsSame word "workspace"Protocol: WorkspaceConversationRecord, paths under .aif/workspace/conversations/
workspace.jsonNx / monorepo manifest detection signalvs product "workspace"Evidence adapter term only; not a session store
proposalSkill proposal, adoption proposal, workspace proposal, quality remediation proposal, external skill import proposalOverloadedAlways qualify: SkillProposal, AdoptionProposal, WorkspaceProposal, QualityRemediationProposal
planAdoption plan, scaffold plan, remediation plan, harness plan, decomposition planOverloadedUse typed names in APIs; CLI uses --plan for adoption file path
FoundationFoundation Workshop (W2) vs foundation-first governance principlesvs FOUNDATION_FIRST_DEVELOPMENT_PRINCIPLES.mdW2 ops must use FoundationWorkshop prefix per implementation plan
BlueprintProject inception blueprint (ProjectBlueprint)StableReuse existing inception types; do not fork for W4
Inception sessionInceptionSessionState (in-memory tests)vs daemon SESSION_GET_METHOD (agent session)New RPC namespace: intentloom.inception.* not intentloom.session.*
Scaffold planScaffoldPlan in inceptionvs W6 workspace planReuse ScaffoldPlan; W6 adds workspace packaging gate only

Capability discovery: Future daemon intentloom.daemon.info.v1 entries must list inception methods separately from agent session, quality, and specialized pack methods.


6. Gap map — I1–I10 application ops vs W1–W7 delivery ​

What W1 requires (from ENGINEERING_WORKSPACE_IMPLEMENTATION_PLAN.md) ​

Versioned contracts for: inception session, problem statement, question/answer, preference vs hard constraint, assumption, unresolved question, conflict, session summary, retention state.

Candidate operations (plan): createInceptionSession, getInceptionSession, listInceptionQuestions, recordInceptionAnswer, summarizeInceptionState, identifyInceptionConflicts.

Exact missing artifacts for W1 Core (evidence-backed) ​

Protocol schema URNs (none exist today) ​

Proposed initial set (names only — implementation PR freezes exact strings):

Proposed URN constantPurpose
INCEPTION_SESSION_SCHEMA_URNSession state envelope
INCEPTION_QUESTION_SCHEMA_URNQuestion record
INCEPTION_ANSWER_SCHEMA_URNAnswer record
INCEPTION_CONFLICT_SCHEMA_URNConflict finding
INCEPTION_SUMMARY_SCHEMA_URNsummarizeInceptionState result
INCEPTION_RETENTION_STATE_SCHEMA_URNRetention / export / delete metadata

Existing types in packages/protocol/src/inception.ts lack schemaVersion fields.

Application operations ​

OperationStatus
createInceptionSessionexists
recordInceptionAnswerexists
summarizeInceptionStateexists
identifyInceptionConflictsexists
getInceptionSessionmissing
listInceptionQuestionsmissing (derive from session + pending filter)
Session retention / delete / export JSONmissing

Daemon methods (none exist) ​

Proposed JSON-RPC methods for W1 Core PR:

Proposed methodMaps to
intentloom.inception.session.create.v1createInceptionSession
intentloom.inception.session.get.v1getInceptionSession
intentloom.inception.questions.list.v1listInceptionQuestions
intentloom.inception.answer.record.v1recordInceptionAnswer
intentloom.inception.state.summarize.v1summarizeInceptionState
intentloom.inception.conflicts.identify.v1identifyInceptionConflicts

All classified read-only; no project-root writes.

CLI commands (none in usage.ts or packages/cli) ​

Proposed application helper (mirror EQ pattern):

text
runInceptionCliCommand(subcommand, { json, sessionId, root, idea, answer, ... })

Proposed subcommands for W1: start, get, questions, answer, summarize, conflicts, export, delete.

W1 Core PR may land application helper + tests first; wiring into packages/cli/src/command.ts may follow W5 or ship in same PR if scoped.

Deterministic fixtures (none exist) ​

Proposed fixture file: tests/fixtures/inception/session-states.v1.json

Frozen fixture IDs for client parity (proposed — finalize in W1 PR):

Fixture IDState
inception-fixture-empty-discoveringNew session, zero answers
inception-fixture-partial-discoveringSome optional answers, required pending
inception-fixture-ready-blueprintingAll required answered, status blueprinting
inception-fixture-conflict-warningConflicting answers for identifyInceptionConflicts
inception-fixture-cancelledCancelled session
inception-fixture-summary-completeStable summary counts for summarizeInceptionState

Tests to add in W1 Core PR ​

  • tests/inception-session-urns.test.ts — schemaVersion + URN validation
  • tests/inception-cli.test.ts — JSON surface via runInceptionCliCommand
  • tests/daemon-inception.test.ts — RPC round-trip against fixtures
  • Extend inception-contracts.test.ts for getInceptionSession / listInceptionQuestions

W2–W7 deferral (explicit non-goals for W1) ​

PhaseDefer
W2All FoundationWorkshop* operations
W3Live Neutron provider wiring
W4Blueprint CLI/daemon (reuse I3–I4 ops later)
W5Full `intentloom inception
W6–W7Scaffold planner/apply CLI and empty-root transaction UX

7. Minimal W1 Core slice proposal ​

Branch name (suggested): feat/workspace-w1-inception-contracts

Goal: Session lifecycle on Core with versioned URNs, in-memory or user-scoped session store (not project-root mutation), daemon handlers, CLI JSON helper, and frozen fixtures — reusing existing @intentloom/application inception modules.

In scope ​

  1. Add schemaVersion + INCEPTION_*_SCHEMA_URN to protocol types and validator boundaries.
  2. Implement getInceptionSession, listInceptionQuestions, and a bounded in-process session registry (or explicit caller-supplied store interface).
  3. Add daemon handlers + protocol request/response types for the six methods above.
  4. Add runInceptionCliCommand with --json and stable exit codes (0/1).
  5. Add fixture file with six frozen IDs and parity tests (CLI + daemon).
  6. Update daemon capability discovery for new methods.
  7. Document URNs and fixture IDs in this matrix (frozen section).

Out of scope ​

  • Foundation Workshop (W2)
  • Blueprint/scaffold/apply commands
  • Desktop, TUI, React, Tauri changes
  • Neutron live provider
  • S7 specialized-pack check client surfaces
  • Wiring all EQ commands into intentloom binary (separate parity PR)

Exit gate (W1 Core PR) — complete on main (d82e6cb, PR #286) ​

  • Session create → answer → summarize → export → delete without writing project files.
  • CLI JSON and daemon return identical viewmodels for each fixture ID.
  • pnpm verify green.
  • Fixture IDs frozen in tests/fixtures/inception/session-states.v1.json.

W1 Client slice — complete on main (2f63f99, PR #287) ​

Delivered

  1. Shared inception session progress viewmodels and accessible TUI renderers.
  2. Desktop New project shell and session-progress view (empty/loading/error/resume/delete).
  3. Fixture parity tests (tests/desktop-tui-inception.test.ts, 5 tests).
  4. Desktop Tauri bridge for inception daemon RPC methods.

Deferred (non-goals for W1)

  • Foundation Workshop (W2)
  • Wiring intentloom inception ... into binary command routing (W5)
  • Neutron live provider

8. Client readiness summary (W2 checkpoint) ​

text
Current Engineering Workspace phase: W12 complete
Verified main: 85b8548 (PR #316 P1 gate; PR #315; PR #314)
Published npm: 1.0.2 at 192fd05 — W0–W12 are not in that tarball

CORE
Current completed capability:
- W1-W12 Core and Client complete on main
- W12 frozen: assessment-refresh comparison, finding classification, memory proposal/apply, next-feature suggestion

Next Core task:
- None. Do not invent a W13 from this handoff.

CLIENTS: DESKTOP + CLI/TUI
Ready now:
- W1-W12 Desktop/TUI surfaces on main, including continuous-loop panel
  against four frozen fixture IDs and RPC
  intentloom.continuous-loop.workspace.prepare.v1 /
  intentloom.continuous-loop.workspace.execute.v1

Must wait for Core:
- none for W12

Blocked / future:
- Neutron N3–N9
- Any new Engineering Workspace week

Next synchronization checkpoint:
- **P3 S8 External Specialized Pack Lifecycle: COMPLETE** (PRs #319,
  #355–#357, #359, #361, #363; docs #360, #362). Desktop preview/approve/activate
  and CLI/daemon/Doctor Path 3 surfaces are on `main`. TUI activation, MCP
  mutation, update/replace, revocation, network fetching, and marketplace
  remain deferred and are not S8 blockers.
- P4 file-budget extracts may now receive a separate maintainer brief. Do not
  start P4, N3, or Desktop model calls from this matrix.

Maintenance ​

Update this matrix when:

  • a Core contract PR merges;
  • CLI binary wiring changes;
  • a workspace W-phase completes;
  • PROJECT_STATE.md active focus changes.

Do not mark a row ready-now without merged protocol + application + test evidence on main.