diff --git a/.claude/INVARIANTS.md b/.claude/INVARIANTS.md new file mode 100644 index 000000000..698282a0c --- /dev/null +++ b/.claude/INVARIANTS.md @@ -0,0 +1,233 @@ +--- +title: Invariants Index +purpose: constrain +tier: stable +audience: agent +status: active +topic: [ax, invariants] +last-verified: 2026-05-16 +--- + +# VariScout Invariants + +Cross-cutting non-negotiables. Each invariant has ONE canonical home (linked) + ONE enforcement mechanism (lint rule, structural-absence test, denylist guard, or convention + code review). Subagents loading the `agent-context-quickstart` skill see this doc on session start. + +Enforcement tiers: +- **ESLint** — blocks at lint-time; CI fails if violated. +- **Architecture test** — structural-absence guard in `packages/*/src/__tests__/`; CI fails if violated. +- **Denylist script** — bash script run in pre-commit / `bash scripts/pr-ready-check.sh`; blocks push. +- **Convention** — no mechanical gate; reviewer-enforced + code review protocol. + +--- + +## Hard Invariants (lint- or test-enforced) + +### Language + +- **Never "root cause"** — say "contribution" / "suspected cause" / "mechanism" (P5 amended). + - Canonical: [ADR-073](../docs/07-decisions/adr-073-no-statistical-rollup-across-heterogeneous-units.md) §Rationale + [`.claude/invariants/coscout-prompts.md`](invariants/coscout-prompts.md). + - Enforced: ESLint `variscout/no-root-cause-language` (scoped to AI prompts + CoScout code). + +- **Interactions are `'ordinal'` / `'disordinal'` — never "moderator" or "primary"**. + - Canonical: [`.claude/invariants/stats.md`](invariants/stats.md). + - Enforced: ESLint `variscout/no-interaction-moderator` (scoped to stats + regression code). + +### Stats engine + +- **Never return `NaN` or `Infinity`** — return `number | undefined`; use `safeMath.ts` (`finiteOrUndefined`, `safeDivide`, `computeOptimum`). + - Canonical: [`.claude/invariants/stats.md`](invariants/stats.md). + - Enforced: convention + three-boundary numeric safety (ADR-069). + +- **Never `.toFixed()` on stat outputs** — display via `formatStatistic()` from `@variscout/core/i18n`. + - Canonical: [`.claude/invariants/stats.md`](invariants/stats.md) + [`.claude/invariants/i18n.md`](invariants/i18n.md). + - Enforced: ESLint `variscout/no-tofixed-on-stats`. + +- **Never `Math.random()` in any code or test** — tests use seeded PRNG helpers; production code avoids randomness. + - Canonical: [`.claude/invariants/stats.md`](invariants/stats.md) + [`.claude/invariants/testing.md`](invariants/testing.md). + - Enforced: convention + code review (no ESLint rule currently — see investigations.md for open gap). + +- **NIST Longley fixture must stay green to 9 significant digits** — never weaken the threshold. + - Canonical: [`.claude/invariants/stats.md`](invariants/stats.md). + - Enforced: Vitest test fixture (failing it fails CI). + +- **No cross-investigation statistical aggregation** — no `meanCpk`/`sumCpk`/`portfolioCpk` across heterogeneous units. Distributions, not aggregates. Side-by-side comparison (facets) is always safe; arithmetic across heterogeneous physics is always wrong. + - Canonical: [ADR-073](../docs/07-decisions/adr-073-no-statistical-rollup-across-heterogeneous-units.md). + - Enforced: architecture test `packages/core/src/__tests__/architecture.noCrossInvestigationAggregation.test.ts`. + +### Chart components + +- **Colors only via `chartColors` / `chromeColors`** from `@variscout/charts/colors` — no hex literals. + - Canonical: [`.claude/invariants/charts.md`](invariants/charts.md). + - Enforced: ESLint `variscout/no-hardcoded-chart-colors`. + +- **LTTB must force-include UCL/LCL violations** — silent dropping is a correctness bug. + - Canonical: [`.claude/invariants/charts.md`](invariants/charts.md). + - Enforced: convention + code review. + +### ADR-074 level-spanning surface boundary + +- **Owner surfaces own their primitives** — Investigation Wall does not reimplement L1 chart rendering; SCOUT does not reimplement Evidence Map factor-network; FRAME does not embed hypothesis canvas surfaces; Evidence Map does not reimplement L2 flow rendering. + - Canonical: [ADR-074](../docs/07-decisions/adr-074-scout-level-spanning-surface-boundary-policy.md). + - Enforced: `scripts/check-level-boundaries.sh` (runs in `bash scripts/pr-ready-check.sh`). + +### Persistence boundary (ADR-059 / ADR-079) + +- **No direct Dexie import outside persistence layers** — only `apps/*/src/persistence/` and `apps/*/src/db/` may import Dexie directly. Exception: R12 (`packages/stores/src/canvasViewportStore.ts`), R13 sustainment direct writes with ESLint allow-list. + - Canonical: [ADR-059](../docs/07-decisions/adr-059-web-first-deployment-architecture.md) + F1+F2 P7.2 enforcement. + - Enforced: ESLint `no-restricted-imports` (P7.2 rule in `eslint.config.js`, R12+R13 allow-list). + +### CoScout prompts + +- **Entry point is `assembleCoScoutPrompt()`** — `buildCoScoutSystemPrompt()` in `legacy.ts` is deprecated (test backward-compat only). + - Canonical: [`.claude/invariants/coscout-prompts.md`](invariants/coscout-prompts.md). + - Enforced: convention + code review. + +- **Every tool in `tools/registry.ts` declares `phases` + optional `tier: 'team'`** — ungated tools leak across phases/tiers. + - Canonical: [`.claude/invariants/coscout-prompts.md`](invariants/coscout-prompts.md). + - Enforced: convention + code review. + +- **Tier 1 is session-invariant** — moving content tier1 ↔ tier3 breaks prompt-cache hit rate. + - Canonical: [`.claude/invariants/coscout-prompts.md`](invariants/coscout-prompts.md). + - Enforced: convention + code review. + +- **REF markers reference chart elements, not raw data values** (ADR-057, customer-owned data). + - Canonical: [`.claude/invariants/coscout-prompts.md`](invariants/coscout-prompts.md). + - Enforced: convention + code review. + +### i18n + +- **No string concatenation for translated content** — use `formatMessage()` with parameters; Intl APIs for plurals/numbers/dates. + - Canonical: [`.claude/invariants/i18n.md`](invariants/i18n.md). + - Enforced: convention + code review. + +- **`registerLocaleLoaders()` before any `preloadLocale()`** — apps call at startup; tests register their own loader before `beforeAll`. + - Canonical: [`.claude/invariants/i18n.md`](invariants/i18n.md). + - Enforced: convention + test failures (locales silently fall back to English without registration). + +### Testing + +- **`vi.mock()` BEFORE component imports** — mocks after imports cause infinite loops. + - Canonical: [`.claude/invariants/testing.md`](invariants/testing.md). + - Enforced: convention (test hangs surface the violation). + +- **`vi.mock()` factories referencing `@variscout/core` exports use `importOriginal` partial-pattern** — flat factories crash on transitive `DEFAULT_TIME_LENS` reads. + - Canonical: [`.claude/invariants/testing.md`](invariants/testing.md). + - Enforced: convention + test failures. + +- **Floats: `toBeCloseTo(value, decimals)`** — never `toBe()` for float comparisons. + - Canonical: [`.claude/invariants/testing.md`](invariants/testing.md). + - Enforced: convention. + +- **E2E selectors: `data-testid` only** — text/role/class selectors break with i18n + theme changes. + - Canonical: [`.claude/invariants/testing.md`](invariants/testing.md). + - Enforced: convention + code review. + +- **Zustand stores: reset state in `beforeEach`** via `useStore.setState(useStore.getInitialState())`. + - Canonical: [`.claude/invariants/testing.md`](invariants/testing.md). + - Enforced: convention. + +--- + +## Soft Invariants (convention + reviewer-enforced) + +### Product data + +- **Browser-only processing** — data stays in customer's Azure tenant. No server-side aggregation; no external API calls with row data. + - Canonical: [ADR-059](../docs/07-decisions/adr-059-web-first-deployment-architecture.md). + - Enforced: code review (no server-processing entry points in product code). + +### Azure auth + storage + +- **EasyAuth only** — no MSAL in client code; `/.auth/me` returns identity. + - Canonical: [`.claude/invariants/azure-storage.md`](invariants/azure-storage.md). + - Enforced: convention + code review. + +- **No PII in App Insights** — log structural events only (counts, types, durations); send error *type*, not message text. + - Canonical: [`.claude/invariants/azure-storage.md`](invariants/azure-storage.md). + - Enforced: convention + code review. + +- **SAS tokens minted server-side** via `/api/storage-token` — client never sees storage keys; container-scoped, 1h expiry. + - Canonical: [`.claude/invariants/azure-storage.md`](invariants/azure-storage.md). + - Enforced: convention + code review. + +- **ETag concurrency on hub-blob writes (ADR-079)** — callers must handle the `{ ok: false; reason }` branch. + - Canonical: [`.claude/invariants/azure-storage.md`](invariants/azure-storage.md) + [ADR-079](../docs/07-decisions/adr-079-hub-blob-storage-etag-concurrency.md). + - Enforced: TypeScript typed result (compile-time guard); convention for branch handling. + +### Architecture shape + +- **6 Zustand stores across 3 layers** — Document (×3): `useProjectStore`, `useInvestigationStore`, `useCanvasStore`; Annotation (×2): `useCanvasViewportStore`, `usePreferencesStore`, `useActiveIPStore`; View (×1): `useViewStore`. No DataContext. + - Canonical: [ADR-078](../docs/07-decisions/adr-078-pwa-azure-architecture-alignment.md) + `packages/stores/CLAUDE.md`. + - Enforced: `packages/stores/src/__tests__/layerBoundary.test.ts` (structural-absence guard on layer names). + +- **Package dependencies flow downward** — `core → hooks → ui → apps`. Never import upward. + - Canonical: root `CLAUDE.md` §Invariants + [ADR-078](../docs/07-decisions/adr-078-pwa-azure-architecture-alignment.md). + - Enforced: convention + ESLint (some packages); TypeScript compiler catches circular deps. + +- **Sub-path exports need BOTH `package.json#exports` AND `tsconfig.json#paths` updated together** — updating one but not the other silently breaks imports. + - Canonical: root `CLAUDE.md` §Invariants. + - Enforced: convention + build failures (`pnpm build` catches type gaps). + +- **`@source` directive in every `apps/*/src/index.css` for shared packages** — missing it silently breaks Tailwind v4 responsive utilities. + - Canonical: root `CLAUDE.md` §Invariants. + - Enforced: convention (visual regression surfaces it; see `feedback_verify_before_push`). + +- **No bare `useStore()` calls** — always use selectors: `useProjectStore(s => s.field)`. + - Canonical: `packages/stores/CLAUDE.md`. + - Enforced: convention + code review. + +- **Strategy pattern for modes** — `resolveMode()` + `getStrategy()` is the sole source of truth for mode-specific behavior. No cascading mode ternaries. + - Canonical: [Constitution §10](../docs/01-vision/constitution.md) + `packages/core/CLAUDE.md`. + - Enforced: convention + code review. + +### Chart components (soft) + +- **Theme via `useChartTheme()`** — never read `data-theme` directly. + - Canonical: [`.claude/invariants/charts.md`](invariants/charts.md). + - Enforced: convention + code review. + +- **Pair `text-{color}-400` with `text-{color}-700`** for label contrast — `red/amber/green-400` fail light-mode contrast alone. + - Canonical: [`.claude/invariants/charts.md`](invariants/charts.md). + - Enforced: convention + visual regression (see `feedback_green_400_light_contrast`). + +- **No manual `React.memo()` on new chart components** — React Compiler handles memoization. + - Canonical: [`.claude/invariants/charts.md`](invariants/charts.md). + - Enforced: convention + code review. + +### Git / workflow + +- **Never `--no-verify` on commits** — hooks enforce invariants; bypassing hides real violations. + - Canonical: root `CLAUDE.md` §Workflow + `feedback_subagent_no_verify`. + - Enforced: convention; reviewers reject `--no-verify` evidence in PRs. + +--- + +## Topic-Scoped Invariants (load on demand) + +Load these when working in the relevant area — they provide more detail than the summaries above. + +| Topic | Invariant file | When to load | +| ------------------------------ | ---------------------------------------------------------------- | --------------------------------------------------- | +| Stats engine + math | [invariants/stats.md](invariants/stats.md) | Writing or modifying stats/findings code | +| Test code (Vitest + Playwright)| [invariants/testing.md](invariants/testing.md) | Writing or modifying any test file | +| Chart components | [invariants/charts.md](invariants/charts.md) | Chart component work | +| CoScout AI prompts | [invariants/coscout-prompts.md](invariants/coscout-prompts.md) | Editing CoScout prompts / AI tools / prompt registry. For CoScout work: load [coscout-ax-design](../docs/01-vision/coscout-ax-design.md) first (canonical AX design: persona, tier-gating, knowledge architecture, safety, eval), then this invariant file for prompt engineering details. | +| i18n strings + locale | [invariants/i18n.md](invariants/i18n.md) | Adding or modifying localized strings | +| Azure storage + auth | [invariants/azure-storage.md](invariants/azure-storage.md) | Azure Blob/Dexie sync, auth, SAS token work | + +--- + +## Enforcement Gaps (open) + +The following soft invariants lack a mechanical enforcement mechanism. Gaps are logged in `docs/investigations.md`. + +- `Math.random()` ban: enforced by convention only; no ESLint rule. A `no-math-random` rule scoped to `packages/core/src/**` + `**/__tests__/**` would close this. +- `@source` directives: no build-time check; only visual regression surfaces it. A `pnpm docs:gen-arch`-style check for Tailwind source maps could close this (Play 7 candidate). + +--- + +## Related + +- [docs/agent-context/onboarding-quick-start.md](../docs/agent-context/onboarding-quick-start.md) — 5-min agent orientation that summarizes the 4 hard invariants +- [docs/agent-context/package-router.md](../docs/agent-context/package-router.md) — routing table pointing to relevant invariant files per work area +- [docs/01-vision/constitution.md](../docs/01-vision/constitution.md) — 10 product principles (overlaps with soft invariants above; constitution is canonical for P1–P10) diff --git a/.claude/rules/azure-storage.md b/.claude/invariants/azure-storage.md similarity index 100% rename from .claude/rules/azure-storage.md rename to .claude/invariants/azure-storage.md diff --git a/.claude/rules/charts.md b/.claude/invariants/charts.md similarity index 100% rename from .claude/rules/charts.md rename to .claude/invariants/charts.md diff --git a/.claude/rules/coscout-prompts.md b/.claude/invariants/coscout-prompts.md similarity index 80% rename from .claude/rules/coscout-prompts.md rename to .claude/invariants/coscout-prompts.md index 62cb98795..ecbc5ba90 100644 --- a/.claude/rules/coscout-prompts.md +++ b/.claude/invariants/coscout-prompts.md @@ -3,6 +3,7 @@ paths: - "packages/core/src/ai/prompts/**" - "packages/core/src/ai/actionTools.ts" - "packages/core/src/ai/**" +related: [coscout-ax-design] --- # CoScout prompts — non-negotiables @@ -14,3 +15,5 @@ paths: - **Tier 1 stays session-invariant** — moving content tier1 ↔ tier3 breaks prompt-cache hit rate. Detailed architecture + tier model + mode coaching: `packages/core/CLAUDE.md`. + +See also: [coscout-ax-design](../../docs/01-vision/coscout-ax-design.md) — canonical AX-design surface (persona, tier-gating, knowledge architecture, safety, eval discipline). diff --git a/.claude/rules/i18n.md b/.claude/invariants/i18n.md similarity index 100% rename from .claude/rules/i18n.md rename to .claude/invariants/i18n.md diff --git a/.claude/rules/stats.md b/.claude/invariants/stats.md similarity index 100% rename from .claude/rules/stats.md rename to .claude/invariants/stats.md diff --git a/.claude/rules/testing.md b/.claude/invariants/testing.md similarity index 100% rename from .claude/rules/testing.md rename to .claude/invariants/testing.md diff --git a/.claude/skills/agent-context-quickstart/SKILL.md b/.claude/skills/agent-context-quickstart/SKILL.md new file mode 100644 index 000000000..276fa9253 --- /dev/null +++ b/.claude/skills/agent-context-quickstart/SKILL.md @@ -0,0 +1,59 @@ +--- +name: "Agent Context Quickstart" +description: "Use at the start of any subagent dispatch to load a 5-minute VariScout orientation: current strategic direction (wedge V1), hard invariants, where to look, and common pitfalls. Use when onboarding a fresh subagent, starting a new session, or any time a subagent needs baseline project context before touching code or docs." +--- + +# Agent Context Quickstart + +## When to Use This Skill + +Use at the start of any subagent dispatch — especially: +- First action of a fresh session or a freshly dispatched subagent +- Before any code or doc edit in an unfamiliar area +- When a task touches multiple packages or layers and orientation matters + +Do NOT skip this for "quick" tasks. The most common subagent errors (wrong store layer, root-cause language, hex colors, bare useStore()) stem from missing this context. + +## What This Skill Does + +Loads a 5-minute orientation document covering: +1. What VariScout is and its current strategic direction (wedge pivot 2026-05-16) +2. Hard invariants that must never be violated +3. Where to look for specs, decisions, and package context +4. Common pitfalls that cause ESLint failures and test breaks + +## How to Use + +1. Read the onboarding doc at `docs/agent-context/onboarding-quick-start.md` (in the repo root). +2. Note the 6-tab nav (`Home · Projects · Process · Analyze · Investigation · Report`) and that "Improve" is a stage inside Projects, not a tab. (Verify against any recent amendments in `docs/decision-log.md` — the wedge area is actively evolving.) +3. Read `.claude/INVARIANTS.md` for the full invariant index — canonical homes + enforcement mechanisms for every hard and soft rule. The onboarding doc §Hard Invariants gives the quick summary; INVARIANTS.md gives the authoritative detail. +4. **If your task involves editing ANY canonical doc** (design spec, ADR, decision-log, etc.): read `docs/agent-context/doc-discipline.md`. It defines the SSoT-by-doc-type rules — design specs edit-in-place, ADRs use amendment-blocks-at-bottom, decision-log appends. Anti-pattern: creating `*-amendment-*.md` side files (HARD-FAILed by validator when Play 2b ships). +5. Scan the Common Pitfalls section in the onboarding doc — check each against your planned edits before proceeding. +6. If your task involves a specific package, invoke the `package-router` skill next. +7. If your task reads or writes store state, invoke the `store-state-glossary` skill next. + +## Key Facts (memorize these) + +**Current direction**: Wedge V1 — single-product, single SKU (€99/mo), single persona (improvement specialist). Canonical: ADR-082 + wedge spec (`docs/superpowers/specs/2026-05-16-wedge-architecture-design.md`). + +**6 tabs**: `Home · Projects · Process · Analyze · Investigation · Report`. Improve = stage inside Projects. Many older docs predate this; treat as historical. + +**Package dependency direction**: `core → hooks → ui → apps`. Never import upward. + +**Hard stops** (all ESLint-enforced): +- Never `Math.random()` in any code or test +- Never hardcoded hex colors in charts +- Never `--no-verify` on commits +- Never "root cause" language (use "contribution" / "suspected cause" / "mechanism") +- Never `'ordinal' | 'disordinal'` confusion — never call interactions "moderator" or "primary" + +## Supporting Documents + +- Full 5-minute onboarding: `docs/agent-context/onboarding-quick-start.md` +- Invariants index: `.claude/INVARIANTS.md` +- **Doc-update discipline (when editing any canonical doc): `docs/agent-context/doc-discipline.md`** + +Related skills: +- `package-router` — which package CLAUDE.md to load for your work area +- `store-state-glossary` — what state lives in which Zustand store +- `writing-tests` — Vitest + RTL + Playwright test patterns diff --git a/.claude/skills/package-router/SKILL.md b/.claude/skills/package-router/SKILL.md new file mode 100644 index 000000000..6c0d3a676 --- /dev/null +++ b/.claude/skills/package-router/SKILL.md @@ -0,0 +1,57 @@ +--- +name: "Package Router" +description: "Use when you need to figure out which package's CLAUDE.md, ADRs, rules, and skills to load for a specific work area. Covers: canvas, stats engine, chart components, stores, i18n, Azure-specific (storage/auth/sync), PWA-specific (persistence/Dexie), UI primitives, hooks, CoScout prompts, response paths, capability mode, performance mode, yamazumi mode, defect mode, process-flow mode, projects tab, Investigation Wall, Evidence Map. Use before starting any implementation in an unfamiliar area." +--- + +# Package Router + +## When to Use This Skill + +Use when you know *what* you need to do but not *where* to look. Given a work area (e.g., "I need to add a chart", "I need to touch the stores", "I need to fix a canvas bug"), this skill routes you to the right CLAUDE.md, ADRs, and rules before you write a line of code. + +## How to Use + +1. Find your work area in the routing table at `docs/agent-context/package-router.md`. +2. Read the **Primary CLAUDE.md** in full first. +3. Skim **Related CLAUDE.mds** for boundary rules relevant to your change. +4. Look up the cited **ADRs** in `docs/07-decisions/` when you need the rationale. +5. Check `.claude/rules/` files listed in the Rules column for machine-enforced constraints. +6. Invoke any suggested skill. +7. Check `docs/decision-log.md` before reopening any decided question. + +## Quick Reference (Top Work Areas) + +| Work Area | Primary CLAUDE.md | Key Constraint | +|---|---|---| +| Canvas / FRAME / Process Hub | `packages/ui/CLAUDE.md` | `Canvas` is canonical; `LayeredProcessViewWithCapability` deprecated | +| Stats engine | `packages/core/CLAUDE.md` | `safeMath.ts`; return `undefined` not NaN; never `Math.random()` | +| Chart components | `packages/charts/CLAUDE.md` | `chartColors` only; `useChartTheme()`; no hex literals | +| Zustand stores | `packages/stores/CLAUDE.md` | Selector required; 3-layer boundary enforced | +| i18n | `packages/core/CLAUDE.md` | `registerLocaleLoaders()` before `preloadLocale()` | +| Azure (storage/auth/sync) | `apps/azure/CLAUDE.md` | EasyAuth only; no PII in telemetry; ETag concurrency | +| PWA (persistence/Dexie) | `apps/pwa/CLAUDE.md` | Session-only by default; no AI in free tier | +| UI primitives | `packages/ui/CLAUDE.md` | `*Base` = primitive; `*WrapperBase` = composition | +| React hooks | `packages/hooks/CLAUDE.md` | Consume stores; never define stores | +| CoScout prompts | `packages/core/CLAUDE.md` | `assembleCoScoutPrompt()`; tier 1 is cache-invariant | +| Projects tab | wedge spec + `apps/azure/CLAUDE.md` | 4 stages: Charter→Approach→Improve→Sustainment | +| Investigation Wall | `packages/core/CLAUDE.md` + `packages/stores/CLAUDE.md` | `FindingSource` discriminated union; no cross-hub aggregation | + +## Full Routing Table + +The complete table (20 rows with ADRs, rules, and suggested skills per work area) is at: + +`docs/agent-context/package-router.md` + +Read that doc for the authoritative routing matrix. The quick reference above covers the 80% case. + +## Package Dependency Invariant + +`core → hooks → ui → apps` — import direction is one-way downward. If your change requires importing upward, you need a different design. + +## Sub-path Export Rule + +Updating a sub-path in any package requires BOTH `package.json#exports` AND `tsconfig.json#paths` updated together. Missing either causes silent runtime failures. + +## Tailwind v4 Rule + +Every `apps/*/src/index.css` needs `@source` for each shared package that provides UI (`@source "../../../packages/ui/src/**/*.tsx"`, etc.). Missing `@source` silently breaks responsive utilities. diff --git a/.claude/skills/store-state-glossary/SKILL.md b/.claude/skills/store-state-glossary/SKILL.md new file mode 100644 index 000000000..e63aacef5 --- /dev/null +++ b/.claude/skills/store-state-glossary/SKILL.md @@ -0,0 +1,97 @@ +--- +name: "Store State Glossary" +description: "Use when you need to know what state lives in which Zustand store before reading or mutating store state. Covers the 7 stores across 3 layers (Document ×3, Annotation ×3, View ×1) per ADR-078 + F4. Use before any store read/write, before dispatching actions, or when you're unsure which store owns a piece of state." +--- + +# Store State Glossary + +## When to Use This Skill + +Use before: +- Reading or writing any Zustand store field +- Dispatching a store action +- Deciding where new state should live (which layer + which store) +- Writing tests that reset store state in `beforeEach` +- Debugging state that isn't persisting / is persisting unexpectedly + +## The 3-Layer Model + +| Layer | Stores | Persistence | Test reset | +|---|---|---|---| +| **Document** | `useProjectStore`, `useInvestigationStore`, `useCanvasStore` | Hub repository → `.vrs` / Dexie (Azure) | Load a fresh `SerializedProject` | +| **Annotation** | `useCanvasViewportStore`, `usePreferencesStore`, `useActiveIPStore` | Dexie / idb-keyval / localStorage | Clear individually per store key | +| **View** | `useViewStore` | NONE — transient | `useViewStore.setState(useViewStore.getInitialState())` | + +**Portability test**: Would another analyst importing this hub need this state? Yes → Document. Survives reload but not portable → Annotation. Doesn't survive reload → View. + +## Quick Field Reference + +### Document — `useProjectStore` (dataset + config) +- `rawData` — all parsed rows +- `outcome` — selected Y column +- `factors` — selected X columns +- `specs` / `measureSpecs` — spec limits (per-outcome and per-column) +- `analysisMode` — `'standard' | 'performance' | 'yamazumi' | 'defect'` (never `'capability'` — that's a `ResolvedMode`) +- `filters` — active row-level filters +- `subgroupConfig` — n for subgrouping (default n=5+ for capability) +- `dataQualityReport` — parse-time report + +### Document — `useInvestigationStore` (findings + hypotheses) +- `findings` — pinned observations (`FindingSource` discriminated union; always narrow before accessing) +- `questions` — investigation question tree (max depth 3, max 8 children per parent) +- `hypotheses` — `SuspectedCause` entities; `selectedForImprovement: true` triggers HMW brainstorm +- `causalLinks` — directed causal graph edges (cycle-guarded via `wouldCreateCycle()`) +- `problemContributionTree` — AND-gate tree for the Wall (highlights in `useViewStore`) + +### Document — `useCanvasStore` (FRAME / Process Hub canvas) +- `canonicalMap` — the process map (nodes = steps, edges = connections) +- `outcomes` / `primaryScopeDimensions` — hub outcome specs +- `undoStack` / `redoStack` — undo history (cap 50) + +### Annotation — `useCanvasViewportStore` (per-hub viewport, Dexie) +- `viewMode` — `'map' | 'wall'` +- `viewports` — per-hub zoom + pan + level state (call `rehydrateCanvasViewport(hubId)` on hub open) +- `selection` — selected canvas nodes +- `chartClusters` — positioned chart clusters on the Wall + +### Annotation — `usePreferencesStore` (per-user, idb-keyval) +- `activeView` — workspace tab: `'dashboard' | 'frame' | 'analysis' | 'investigation' | 'improvement' | 'report'` +- `piActiveTab` — PI panel tab: `'stats' | 'questions' | 'journal'` +- `aiEnabled` — user AI feature toggle (Azure only) +- `timeLens` — active time lens selection +- `riskAxisConfig` / `budgetConfig` — improvement matrix config + +### Annotation — `useActiveIPStore` (per-hub per-user, localStorage) +- `activeIPs` — map of `variscout:activeIP:{hubId}:{userId}` → `{ ipId, setAt }` + +### View — `useViewStore` (transient, no persist) +- `highlightRowIndex` / `highlightedChartPoint` — bidirectional chart↔table highlight +- `highlightedFindingId` — finding nav highlight +- `focusedQuestionId` — Wall question focus +- `pendingChartFocus` — set by CoScout `navigate_to` tool +- `selectedPoints` / `selectionIndexMap` — Minitab-style brushing selection +- `isDataTableOpen` — data table modal state +- `improvementActiveView` — `'plan' | 'track'` + +## Hard Rules + +- **Selectors required**: `useProjectStore(s => s.field)` — never bare `useStore()`. +- **No DataContext** (ADR-041). +- **Document stores never import Dexie** (ESLint P7.2). R12 exception: `canvasViewportStore.ts` (separate Dexie DB for cross-app viewport state). +- **Cross-store imperative calls are OK; reactive subscriptions between stores are forbidden**. +- **Deleted stores**: `useSessionStore` + `useImprovementStore` were deleted in F4. Never re-introduce. + +## Full Glossary + +Complete field-level documentation (all 7 stores with types, persistence details, key actions, boundary notes): + +`docs/agent-context/store-state-glossary.md` + +Read that doc when you need the full type signatures, persistence mechanisms, or the rationale for a specific field. + +## Related + +- `packages/stores/CLAUDE.md` — authoritative one-page summary +- ADR-078 — architecture alignment (same stores, gated tiers) +- ADR-064 — `SuspectedCause` as first-class entity +- `writing-tests` skill — Zustand test reset patterns (`beforeEach` + `getInitialState()`) diff --git a/.husky/pre-push b/.husky/pre-push index 877083aae..e8fb2c976 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -21,6 +21,19 @@ pnpm docs:check || { echo "pre-push: docs:check failed — run 'pnpm docs:check' echo "pre-push: running check-dead-links.sh…" bash "$ROOT/scripts/check-dead-links.sh" || { echo "pre-push: check-dead-links.sh failed — fix broken links and retry." >&2; exit 1; } +# --- Auto-generated architecture doc staleness check --- +# Regenerate, then fail if the committed version differs from fresh output. +# Developers: run `pnpm docs:gen-arch && git add docs/05-technical/architecture-generated.md` before pushing. +echo "pre-push: checking docs:gen-arch staleness…" +pnpm docs:gen-arch > /dev/null 2>&1 && \ + git diff --exit-code docs/05-technical/architecture-generated.md > /dev/null 2>&1 || { + echo "pre-push: docs/05-technical/architecture-generated.md is stale." >&2 + echo " Run: pnpm docs:gen-arch && git add docs/05-technical/architecture-generated.md && git commit --amend --no-edit" >&2 + echo " Or: pnpm docs:gen-arch && git add docs/05-technical/architecture-generated.md && git commit -m 'chore: regenerate arch doc'" >&2 + exit 1 + } +echo "pre-push: architecture-generated.md is up to date." + # --- Non-blocking direct-to-main warning --- while read -r local_ref local_sha remote_ref remote_sha; do [ -z "$remote_ref" ] && continue diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..373711d0c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +# Auto-generated by `pnpm docs:gen-arch` — script writes compact markdown tables. +# Excluded from prettier so the staleness check in .husky/pre-push compares apples-to-apples. +docs/05-technical/architecture-generated.md diff --git a/CLAUDE.md b/CLAUDE.md index 02be9a4ce..6a2deb0e3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,6 +6,8 @@ Shared agent map: `docs/llms.txt` ## Invariants +Full index with canonical homes + enforcement mechanisms: `.claude/INVARIANTS.md`. + - Browser-only processing; data stays in customer's tenant (ADR-059). Deterministic stats engine is authority; CoScout (AI) adds context. No statistical roll-up across heterogeneous units — distributions, not aggregates (ADR-073). - 6 Zustand stores split across 3 layers per ADR-078 + F4 (3 Document, 2 Annotation, 1 View); no DataContext. Authoritative table: `packages/stores/CLAUDE.md`. - Package dependencies flow downward: core → hooks → ui → apps. Sub-path exports need **both** `package.json#exports` AND `tsconfig.json#paths` updated together. Tailwind v4: every app's `src/index.css` needs `@source` for shared packages — missing it silently breaks responsive utils. @@ -22,13 +24,14 @@ Shared agent map: `docs/llms.txt` ## Where to look - **Product context**: `docs/OVERVIEW.md`, `docs/USER-JOURNEYS.md`, `docs/DATA-FLOW.md`. +- **Strategic context**: `docs/01-vision/business-bible.md` §Strategic Hypotheses (H1–H10) — the strategic framing that underpins product decisions; `docs/01-vision/positioning.md` (how we talk about VariScout); `docs/01-vision/methodology.md` (pedagogical narrative, paired companion to vision spec §2). - **Operating model**: `docs/superpowers/specs/2026-04-27-process-learning-operating-model-design.md` — three-level methodology, Process Measurement System, response paths. - **Roadmap**: `docs/superpowers/specs/2026-04-27-product-method-roadmap-design.md` — H0–H4 horizons. - **Package-specific**: nested `CLAUDE.md` in each `packages/*/` and `apps/*/`. - **Agent manifest**: `docs/llms.txt` — map of priority entry points. - **Decisions (why)**: `docs/07-decisions/` (live) + `docs/archive/adrs/` (superseded). - **Designs (what)**: `docs/superpowers/specs/` (active) + `docs/archive/specs/` (delivered/historical). -- **Claude-only rules + skills**: `.claude/rules/` = short cross-cutting non-negotiables (currently load globally). `.claude/skills/` = workflows only — VariScout editing patterns live in nested `CLAUDE.md`. Doc workflow: spec frontmatter SSOT in `scripts/docs-frontmatter-schema.mjs`; new docs need ≥1 inbound link. +- **Invariants + skills**: `.claude/invariants/` = short cross-cutting non-negotiables (currently load globally). See `.claude/INVARIANTS.md` for the synthesizing index. `.claude/skills/` = workflows only — VariScout editing patterns live in nested `CLAUDE.md`. Doc workflow: spec frontmatter SSOT in `scripts/docs-frontmatter-schema.mjs`; new docs need ≥1 inbound link. ## Workflow diff --git a/docs/01-vision/business-bible.md b/docs/01-vision/business-bible.md index 11775ca5a..6f9065c5e 100644 --- a/docs/01-vision/business-bible.md +++ b/docs/01-vision/business-bible.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: Business Bible -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active related: [strategy, hypotheses, value-levers, flywheel, personas, pricing] --- diff --git a/docs/01-vision/constitution.md b/docs/01-vision/constitution.md index 749ff8d46..338b176d8 100644 --- a/docs/01-vision/constitution.md +++ b/docs/01-vision/constitution.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'VariScout Constitution' -audience: [developer, analyst] +audience: human category: architecture -status: stable +status: active related: [philosophy, methodology, architecture, journey] --- diff --git a/docs/01-vision/coscout-ax-design.md b/docs/01-vision/coscout-ax-design.md new file mode 100644 index 000000000..882024cce --- /dev/null +++ b/docs/01-vision/coscout-ax-design.md @@ -0,0 +1,175 @@ +--- +title: 'CoScout AX Design (canonical)' +purpose: design +tier: living +audience: [human, agent] +topic: [ax, coscout, design] +status: active +related: [adr-060, adr-068, adr-069, coscout-prompts-invariant] +last-verified: 2026-05-16 +--- + +# CoScout AX Design (canonical) + +## Purpose + +Single canonical AX-design surface for CoScout — gathers persona, voice, tier-gated behaviors, knowledge architecture, safety boundaries, prompt engineering rules, and eval discipline that were previously scattered across ADRs 060/068/069 and invariant rules. Future CoScout design changes amend this doc; constituent ADRs and the prompt invariant remain the decision provenance and engineering detail. + +--- + +## Persona + Voice + +**What CoScout IS:** + +- An investigation partner with process-improvement domain expertise +- A coach that asks targeted questions and proposes actions grounded in visible data +- A context carrier: surfaces relevant knowledge (investigation artifacts, external docs) when it is likely to unblock the analyst +- A methodology ally: aware of the three-level model (System / Process Flow / Local Mechanism), the 5 analytical modes, and the 3 canvas response paths + +**What CoScout IS NOT:** + +- An oracle: it does not invent conclusions; the deterministic stats engine is the source of truth for numbers +- A gatekeeper: it provides guidance, not checkpoints; analysts proceed at their own judgment +- A verbose summarizer: responses are concise, grounded in context, actionable +- A generic chatbot: every response is tied to the investigation state, the active chart, or the current question + +**Voice principle:** Minimal nudges over proactive interruptions (per `feedback_ai_proactivity`). CoScout speaks when it has grounded, useful context — not because it can. + +**Language invariant:** Never "root cause" — use "contribution," "suspected cause," or "mechanism" (P5 amended; ESLint enforced per `.claude/INVARIANTS.md`). + +--- + +## Tier-Gated Behaviors + +CoScout behaviors differ between the PWA (free tier) and Azure (paid tier). The gate is `isPaidTier()` from `@variscout/core/tier`. + +| Behavior | PWA (free) | Azure (paid) | +| ---------------------------------- | ------------------------ | ----------------------------------------- | +| CoScout panel visible | Yes (read-only coaching) | Yes (full interaction) | +| AI tool calls | No | Yes (27-tool registry, phase-gated) | +| Voice input | No | Yes (transcription-first, ADR-071) | +| Investigation retrieval (Pillar 2) | No | Yes (JSONL → Foundry IQ) | +| External KB (Pillar 3) | No | Yes (SOPs, FMEAs, specs) | +| `answer_question` action tool | No | Yes (INVESTIGATE+ phase) | +| Hub connection proposals | No | Yes (Converging phase only) | +| Prompt caching | N/A | Yes (10x token savings, tier 1 invariant) | + +The tier gate is **inside each surface** (signoff, audit, alerts, action proposals) — not at surface-entry CTAs. Document authoring and structured workflow surfaces serve free-tier pedagogy; `.vrs` export is always available (per `feedback_tier_gate_inside_surface`). + +**Implementation reference:** `packages/core/src/tier/` + `apps/azure/CLAUDE.md`. + +--- + +## Knowledge Architecture + +Five pillars per [ADR-060](../07-decisions/adr-060-coscout-intelligence-architecture.md). Compact summary below; engineering detail in ADR-060. + +| Pillar | What | Status | +| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | +| **1 — Hot Context Quality** | `buildAIContext()` enriched with problem statement, top-5 findings with outcomes, overdue actions, focused question context, question answer visibility | Delivered (Phases 1–2) | +| **2 — Investigation Retrieval** | Investigation artifacts serialized to Blob Storage as JSONL; Foundry IQ auto-indexes for on-demand retrieval via `search_knowledge_base` tool | Pending (Azure infra Phase 3–5) | +| **3 — External Document KB** | SOPs, specs, FMEAs uploaded to Blob Storage; hybrid BM25 + vector + RRF search with semantic reranking; project-level security filtering | Pending (Azure infra Phase 3–5) | +| **4 — Question ↔ CoScout Interaction** | `answer_question` action tool (phase-gated INVESTIGATE+); question answer documents in knowledge index; hub-aware proposal cards | Delivered | +| **5 — Mode-Aware Question Completion** | Yamazumi + performance question generators wired; mode-aware evidence sorting; `evidenceLabel`/`validationMethod`/`questionFocus` per mode | Delivered | + +**Search backend:** Azure AI Search + Foundry IQ agentic retrieval. `KnowledgeAdapter` interface abstracts backend with fallback chain: `FoundryIQKnowledgeAdapter` → `AISearchKnowledgeAdapter` → `BlobKnowledgeAdapter`. + +**Mode/level orthogonality (ADR-068 amendment 2026-05-03):** Modes answer "which analytical lens?" (capability / yamazumi / defect / performance / process-flow). Levels answer "which slice of the process?" (System / Process Flow / Local Mechanism) — inferred from Canvas zoom state, not a separate picker. The two are orthogonal: any mode at any level. Level-aware overlays read Canvas zoom via `coScout/context/` pipeline; no new user gesture required. + +--- + +## Safety Boundaries + +Three boundaries per [ADR-069](../07-decisions/adr-069-three-boundary-numeric-safety.md). Compact summary below; engineering detail in ADR-069. + +``` +Raw Data → [B1: Input] → Clean Data → [Stats Engine] → [B2: Output] → Safe Results → [B3: Display] → User +``` + +| Boundary | What | Mechanism | +| ---------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------ | +| **B1 — Input Sanitization** | `toNumericValue()` rejects NaN/Infinity at parse time | `isFinite() && !isNaN()` in `types.ts` | +| **B2 — Stats Engine Output** | Stats functions return `number | undefined`, never NaN or Infinity | `safeMath.ts`: `finiteOrUndefined()`, `safeDivide()`, `computeOptimum()` | +| **B3 — Display Formatting** | `formatStatistic()` returns "—" for non-finite values; `.toFixed()` guarded | ESLint `no-restricted-syntax` warns on `.toFixed()` in UI/AI code | + +**Exception:** `andersonDarlingTest()` intentionally returns `{ statistic: Infinity, pValue: 0 }` for degenerate data (all values identical). Consumers must handle this. + +**CoScout-specific output safety:** REF markers in AI responses reference chart elements, never raw data values (ADR-057, customer-owned data invariant). The AI prompt never receives row-level customer data — only positional chart references. + +--- + +## Prompt Engineering + +Canonical prompt engineering rules live in `.claude/invariants/coscout-prompts.md`. Do not restate rules here; link instead. + +**Key constraints (brief summary):** + +- Entry point is `assembleCoScoutPrompt()` — `buildCoScoutSystemPrompt()` in `legacy.ts` is deprecated (test backward-compat only) +- Every tool in `tools/registry.ts` declares `phases` + optional `tier: 'team'`; ungated tools leak across phases/tiers +- Tier 1 is session-invariant — content that moves between tier 1 and tier 3 breaks prompt-cache hit rate (10x token cost) +- Never "root cause" language (ESLint-enforced across prompts and CoScout code) + +Full rules: [`.claude/invariants/coscout-prompts.md`](../../.claude/invariants/coscout-prompts.md) + +--- + +## Tool-Calling + +**Registry:** `packages/core/src/ai/tools/registry.ts` — 27 tools (V1 target), each gated by `phases: PhaseEnum[]` + optional `tier: 'team'`. + +**Phase gates:** Tools declare which investigation phases they're available in (FRAME, SCOUT, INVESTIGATE, Converging, etc.). Ungated tools appear in all phases — a correctness and UX concern, not just a permission issue. + +**Tier gate:** Tools marked `tier: 'team'` are stripped from prompts by `assembleCoScoutPrompt()` when `isPaidTier()` is false. + +**Implementation detail:** `packages/core/src/ai/tools/` — see `packages/core/CLAUDE.md` for specifics. + +--- + +## Voice Input + +Azure-only, transcription-first (ADR-071). CoScout receives a text transcript of the analyst's voice input; it does not receive audio. Voice scope: CoScout draft input, finding editor, finding comments. Voice does not bypass investigation structure — all outputs route through the same investigation model as keyboard input. + +--- + +## Eval Discipline + +**Current state:** No automated CoScout eval suite exists at the time of writing (2026-05-16). The promptTierSafety regression test (`packages/core/src/ai/__tests__/promptTierSafety.test.ts`) is the only mechanized quality gate. + +**Follow-up:** A `run-coscout-eval` skill is planned (Play 3 skills inventory). Until shipped, CoScout quality is assessed manually via representative investigation walkthroughs with a Six Sigma practitioner (Watson testing sessions — see `docs/agent-context/onboarding-quick-start.md`). + +**Open gap:** Log in `docs/investigations.md` — "CoScout eval suite: design and schedule automated regression tests for prompt quality, tier enforcement, phase gating, REF marker correctness." + +--- + +## Mode-Aware Methodology Coaching + +CoScout adapts its coaching per analytical mode. Each mode has a dedicated prompt module in `packages/core/src/ai/prompts/coScout/`. Reference documents for mode-specific journeys: + +| Mode | Journey doc | +| ----------------------------- | ------------------------------------ | +| Continuous measurement (base) | `docs/USER-JOURNEYS.md` | +| Capability (Cp/Cpk) | `docs/USER-JOURNEYS-CAPABILITY.md` | +| Yamazumi (Lean cycle-time) | `docs/USER-JOURNEYS-YAMAZUMI.md` | +| Performance (multi-channel) | `docs/USER-JOURNEYS-PERFORMANCE.md` | +| Defect (events-to-rates) | `docs/USER-JOURNEYS-DEFECT.md` | +| Process-flow / bottleneck | `docs/USER-JOURNEYS-PROCESS-FLOW.md` | + +All six journeys were updated for the wedge pivot (2026-05-16). Each inherits from the base `USER-JOURNEYS.md` and extends with mode-specific chart suite, CoScout coaching, and Specialist workflow. + +--- + +## Related Artifacts + +- [ADR-060: CoScout Intelligence Architecture](../07-decisions/adr-060-coscout-intelligence-architecture.md) — five-pillar knowledge architecture, detail +- [ADR-068: CoScout Cognitive Redesign](../07-decisions/adr-068-coscout-cognitive-redesign.md) — modular prompts, tier model, phase-adaptive assembly, mode/level orthogonality +- [ADR-069: Three-Boundary Numeric Safety](../07-decisions/adr-069-three-boundary-numeric-safety.md) — B1/B2/B3 safety architecture, safeMath.ts +- [ADR-071: CoScout Voice Input](../07-decisions/adr-071-coscout-voice-input.md) — transcription-first, Azure-only, scope +- [ADR-057: CoScout Visual Grounding](../07-decisions/adr-057-coscout-visual-grounding.md) — REF markers, customer data boundary +- `.claude/invariants/coscout-prompts.md` — prompt engineering non-negotiables (canonical; link from here, don't restate) +- `packages/core/CLAUDE.md` — implementation detail: tier model, mode coaching modules, context builder + +--- + +## Amendments + +_(Empty at V1 — 2026-05-16. Future amendments append here with date + source.)_ diff --git a/docs/01-vision/eda-mental-model.md b/docs/01-vision/eda-mental-model.md index c9a9eb3db..7db718261 100644 --- a/docs/01-vision/eda-mental-model.md +++ b/docs/01-vision/eda-mental-model.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'EDA Mental Model — Question-Driven Analysis' -audience: [analyst, engineer] +audience: human category: methodology -status: stable +status: active related: [methodology, four-lenses, progressive-stratification, factor-intelligence, investigation] --- diff --git a/docs/01-vision/evaluations/bottleneck-flow-map.md b/docs/01-vision/evaluations/bottleneck-flow-map.md index 777976c3d..77d947f0b 100644 --- a/docs/01-vision/evaluations/bottleneck-flow-map.md +++ b/docs/01-vision/evaluations/bottleneck-flow-map.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Investigation Flow Map: Bottleneck Detection' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Investigation Flow Map: Bottleneck Detection diff --git a/docs/01-vision/evaluations/competitive/edascout-benchmark.md b/docs/01-vision/evaluations/competitive/edascout-benchmark.md index b121ae01f..fa642afff 100644 --- a/docs/01-vision/evaluations/competitive/edascout-benchmark.md +++ b/docs/01-vision/evaluations/competitive/edascout-benchmark.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'EDAScout Competitive Benchmark' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # EDAScout Competitive Benchmark diff --git a/docs/01-vision/evaluations/competitive/jmp-benchmark.md b/docs/01-vision/evaluations/competitive/jmp-benchmark.md index 45bcd7afc..58b0c702e 100644 --- a/docs/01-vision/evaluations/competitive/jmp-benchmark.md +++ b/docs/01-vision/evaluations/competitive/jmp-benchmark.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'JMP Competitive Benchmark' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # JMP Competitive Benchmark diff --git a/docs/01-vision/evaluations/competitive/minitab-benchmark.md b/docs/01-vision/evaluations/competitive/minitab-benchmark.md index 54739e290..f64d573e9 100644 --- a/docs/01-vision/evaluations/competitive/minitab-benchmark.md +++ b/docs/01-vision/evaluations/competitive/minitab-benchmark.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Minitab Competitive Benchmark' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Minitab Competitive Benchmark diff --git a/docs/01-vision/evaluations/competitive/minor-competitors.md b/docs/01-vision/evaluations/competitive/minor-competitors.md index c0d694391..f6fad068c 100644 --- a/docs/01-vision/evaluations/competitive/minor-competitors.md +++ b/docs/01-vision/evaluations/competitive/minor-competitors.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Minor Competitor Profiles' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Minor Competitor Profiles diff --git a/docs/01-vision/evaluations/competitive/powerbi-benchmark.md b/docs/01-vision/evaluations/competitive/powerbi-benchmark.md index 2c8075dcb..b76e06cca 100644 --- a/docs/01-vision/evaluations/competitive/powerbi-benchmark.md +++ b/docs/01-vision/evaluations/competitive/powerbi-benchmark.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Power BI Competitive Benchmark' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Power BI Competitive Benchmark diff --git a/docs/01-vision/evaluations/competitive/tableau-benchmark.md b/docs/01-vision/evaluations/competitive/tableau-benchmark.md index d8a2e1881..251ae3ec1 100644 --- a/docs/01-vision/evaluations/competitive/tableau-benchmark.md +++ b/docs/01-vision/evaluations/competitive/tableau-benchmark.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Tableau Competitive Benchmark' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Tableau Competitive Benchmark diff --git a/docs/01-vision/evaluations/design-brief-guided-investigation.md b/docs/01-vision/evaluations/design-brief-guided-investigation.md index d06054afd..61892b29f 100644 --- a/docs/01-vision/evaluations/design-brief-guided-investigation.md +++ b/docs/01-vision/evaluations/design-brief-guided-investigation.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Design Brief: Guided Investigation' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Design Brief: Guided Investigation diff --git a/docs/01-vision/evaluations/hospital-ward-flow-map.md b/docs/01-vision/evaluations/hospital-ward-flow-map.md index 4ebbe1e88..658887120 100644 --- a/docs/01-vision/evaluations/hospital-ward-flow-map.md +++ b/docs/01-vision/evaluations/hospital-ward-flow-map.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Investigation Flow Map: Hospital Ward (Aggregation Trap)' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Investigation Flow Map: Hospital Ward (Aggregation Trap) diff --git a/docs/01-vision/evaluations/index.md b/docs/01-vision/evaluations/index.md index bed5983b5..80a9e3f7e 100644 --- a/docs/01-vision/evaluations/index.md +++ b/docs/01-vision/evaluations/index.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Evaluations: Progressive Stratification Tensions & Patterns' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Evaluations: Progressive Stratification Tensions & Patterns diff --git a/docs/01-vision/evaluations/investigation-flow-map.md b/docs/01-vision/evaluations/investigation-flow-map.md index 24871e107..8f5f6b1ff 100644 --- a/docs/01-vision/evaluations/investigation-flow-map.md +++ b/docs/01-vision/evaluations/investigation-flow-map.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Investigation Flow Map: Pizza Delivery' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Investigation Flow Map: Pizza Delivery diff --git a/docs/01-vision/evaluations/tensions/discoverability.md b/docs/01-vision/evaluations/tensions/discoverability.md index b49356fe4..d8a272309 100644 --- a/docs/01-vision/evaluations/tensions/discoverability.md +++ b/docs/01-vision/evaluations/tensions/discoverability.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Discoverability' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Discoverability diff --git a/docs/01-vision/evaluations/tensions/factor-ordering.md b/docs/01-vision/evaluations/tensions/factor-ordering.md index fe873a18b..f80320431 100644 --- a/docs/01-vision/evaluations/tensions/factor-ordering.md +++ b/docs/01-vision/evaluations/tensions/factor-ordering.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Factor Ordering' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Factor Ordering diff --git a/docs/01-vision/evaluations/tensions/hierarchy-assumption.md b/docs/01-vision/evaluations/tensions/hierarchy-assumption.md index 640fad48e..bb58dcaec 100644 --- a/docs/01-vision/evaluations/tensions/hierarchy-assumption.md +++ b/docs/01-vision/evaluations/tensions/hierarchy-assumption.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Hierarchy Assumption' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Hierarchy Assumption diff --git a/docs/01-vision/evaluations/tensions/mobile-screen-budget.md b/docs/01-vision/evaluations/tensions/mobile-screen-budget.md index 9033f78bc..d5e29ab4f 100644 --- a/docs/01-vision/evaluations/tensions/mobile-screen-budget.md +++ b/docs/01-vision/evaluations/tensions/mobile-screen-budget.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Mobile Screen Budget' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Mobile Screen Budget diff --git a/docs/01-vision/evaluations/tensions/path-dependency.md b/docs/01-vision/evaluations/tensions/path-dependency.md index f11a6f22c..fd93793cd 100644 --- a/docs/01-vision/evaluations/tensions/path-dependency.md +++ b/docs/01-vision/evaluations/tensions/path-dependency.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Path Dependency' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # Path Dependency diff --git a/docs/01-vision/evaluations/tensions/when-to-stop.md b/docs/01-vision/evaluations/tensions/when-to-stop.md index cf7299cc2..1257fc6b1 100644 --- a/docs/01-vision/evaluations/tensions/when-to-stop.md +++ b/docs/01-vision/evaluations/tensions/when-to-stop.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'When to Stop' -audience: [business, product] +audience: human category: strategy -status: reference +status: active --- # When to Stop diff --git a/docs/01-vision/four-lenses/change.md b/docs/01-vision/four-lenses/change.md index c176f0c2c..ccd771b64 100644 --- a/docs/01-vision/four-lenses/change.md +++ b/docs/01-vision/four-lenses/change.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'CHANGE Lens: I-Chart' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # CHANGE Lens: I-Chart diff --git a/docs/01-vision/four-lenses/drilldown.md b/docs/01-vision/four-lenses/drilldown.md index d0d250f52..64c848e92 100644 --- a/docs/01-vision/four-lenses/drilldown.md +++ b/docs/01-vision/four-lenses/drilldown.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Drill-Down: Progressive Variation Analysis' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Drill-Down: Progressive Variation Analysis diff --git a/docs/01-vision/four-lenses/failure.md b/docs/01-vision/four-lenses/failure.md index 832d412ec..6c1b67d64 100644 --- a/docs/01-vision/four-lenses/failure.md +++ b/docs/01-vision/four-lenses/failure.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'FAILURE Lens: Pareto' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # FAILURE Lens: Pareto diff --git a/docs/01-vision/four-lenses/flow.md b/docs/01-vision/four-lenses/flow.md index 19926986d..2ad18cada 100644 --- a/docs/01-vision/four-lenses/flow.md +++ b/docs/01-vision/four-lenses/flow.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'FLOW Lens: Boxplot' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # FLOW Lens: Boxplot diff --git a/docs/01-vision/four-lenses/index.md b/docs/01-vision/four-lenses/index.md index b56f6e8a1..c35ba87f6 100644 --- a/docs/01-vision/four-lenses/index.md +++ b/docs/01-vision/four-lenses/index.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: "Watson's Four Lenses of Process Knowledge" -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Watson's Four Lenses of Process Knowledge diff --git a/docs/01-vision/four-lenses/value.md b/docs/01-vision/four-lenses/value.md index edbecd502..1b49c0b81 100644 --- a/docs/01-vision/four-lenses/value.md +++ b/docs/01-vision/four-lenses/value.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'VALUE Lens: Capability Histogram' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # VALUE Lens: Capability Histogram diff --git a/docs/01-vision/four-lenses/yamazumi-lens.md b/docs/01-vision/four-lenses/yamazumi-lens.md index 2e6a9cc29..e9f728a2b 100644 --- a/docs/01-vision/four-lenses/yamazumi-lens.md +++ b/docs/01-vision/four-lenses/yamazumi-lens.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Yamazumi Lens: Composition' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Yamazumi Lens: Composition diff --git a/docs/01-vision/index.md b/docs/01-vision/index.md index db02c3ccc..93e4b512b 100644 --- a/docs/01-vision/index.md +++ b/docs/01-vision/index.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Vision & Methodology' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Vision & Methodology @@ -43,6 +45,7 @@ VariScout is built on a philosophy of **EDA for process improvement** — not st - [Philosophy](philosophy.md) — The EDA-for-process-improvement philosophy that drives VariScout - [Methodology](methodology.md) — Watson's EDA methodology, Four Lenses, Investigation Diamond, Two Voices, Three Contributions - [Product Overview](product-overview.md) — High-level product positioning and capabilities +- [CoScout AX Design](coscout-ax-design.md) — Canonical CoScout design: persona, tier-gating, knowledge architecture, safety, prompt engineering --- diff --git a/docs/01-vision/market-analysis.md b/docs/01-vision/market-analysis.md index 748f6be2d..63631e67b 100644 --- a/docs/01-vision/market-analysis.md +++ b/docs/01-vision/market-analysis.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Market Analysis & TAM Estimate' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active last-reviewed: 2026-05-16 related: [wedge, adr-082, product-overview, positioning, pricing, feature-parity] --- diff --git a/docs/01-vision/methodology.md b/docs/01-vision/methodology.md index 7c099b4f0..d8a428714 100644 --- a/docs/01-vision/methodology.md +++ b/docs/01-vision/methodology.md @@ -1,13 +1,15 @@ --- +tier: stable +purpose: orient title: 'VariScout Methodology' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # VariScout Methodology -> **Canonical product vision lives at [`docs/superpowers/specs/2026-05-03-variscout-vision-design.md`](../superpowers/specs/2026-05-03-variscout-vision-design.md).** This methodology document remains as a longer narrative companion; the vision spec's §2 (Methodology spine) is the authoritative summary. Where the two diverge, the vision spec wins. Reconciliation is a follow-up edit (see vision spec §6). +> **Paired companion to [vision spec §2 (Methodology spine)](../superpowers/specs/2026-05-03-variscout-vision-design.md).** Two complementary canonical sources: the vision spec's §2 is the concise authoritative spine (source-of-truth for **product decisions**); this document is the longer pedagogical narrative (source-of-truth for **teaching and onboarding context**). When the two diverge, vision spec §2 wins for product decisions; this doc wins for teaching context. Reconciliation is continuous via the docs-strategy-2026 Steward loop, not a one-shot edit. > > **Canonical terminology lives at [`docs/glossary.md`](../glossary.md).** This methodology narrative cross-references the glossary rather than re-defining terms. The glossary is the home for canvas vocabulary (step / sub-step / column / input / output / outcome) and for the retired-terms list (tributary / CTS / FRAME / Analysis tab / etc) per Q10 of the 2026-05-03 vision §8 resolution. diff --git a/docs/01-vision/philosophy.md b/docs/01-vision/philosophy.md index 4032d2c2c..2da379f4d 100644 --- a/docs/01-vision/philosophy.md +++ b/docs/01-vision/philosophy.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'EDA for Process Improvement' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # EDA for Process Improvement diff --git a/docs/01-vision/positioning.md b/docs/01-vision/positioning.md index 4aa4733cf..fb6dd356c 100644 --- a/docs/01-vision/positioning.md +++ b/docs/01-vision/positioning.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Positioning Bible' -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active related: [strategy, positioning, methodology, category, messaging] --- @@ -18,7 +20,7 @@ related: [strategy, positioning, methodology, category, messaging] How we talk about VariScout — at every level, to every audience. A living document that captures the strategic inflection of March–April 2026 and guides all future messaging, product decisions, and documentation. -Companion to the [Constitution](constitution.md) (what we believe) and the [Business Bible](business-bible.md) (how we grow). +Companion to the [Constitution](constitution.md) (what we believe) and the [Business Bible](business-bible.md) (how we grow) — see [§Strategic Hypotheses H1–H10](business-bible.md#strategic-hypotheses) for the strategic framing that underpins this positioning. --- diff --git a/docs/01-vision/product-overview.md b/docs/01-vision/product-overview.md index c3997b286..b8c2ae553 100644 --- a/docs/01-vision/product-overview.md +++ b/docs/01-vision/product-overview.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'VariScout: Product Overview' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active last-reviewed: 2026-05-16 related: [wedge, adr-082, philosophy, positioning, specifications, feature-parity, journey] --- diff --git a/docs/01-vision/progressive-stratification.md b/docs/01-vision/progressive-stratification.md index 32061a1f3..810071aa8 100644 --- a/docs/01-vision/progressive-stratification.md +++ b/docs/01-vision/progressive-stratification.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Progressive Stratification' -audience: [analyst, developer] +audience: human category: analysis -status: stable +status: active related: [drill-down, filter-chips, eta-squared, r-squared-adj, factor-intelligence] --- diff --git a/docs/01-vision/references/turtiainen-2019-eda-mental-model.md b/docs/01-vision/references/turtiainen-2019-eda-mental-model.md index 746a3b8c5..803a11be3 100644 --- a/docs/01-vision/references/turtiainen-2019-eda-mental-model.md +++ b/docs/01-vision/references/turtiainen-2019-eda-mental-model.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'EDA Mental Model Reference — Turtiainen (2019)' -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active related: [eda-mental-model, methodology, investigation] --- diff --git a/docs/01-vision/trainer-network.md b/docs/01-vision/trainer-network.md index 755c05853..700c2d4b8 100644 --- a/docs/01-vision/trainer-network.md +++ b/docs/01-vision/trainer-network.md @@ -1,6 +1,8 @@ --- +tier: stable +purpose: orient title: Trainer Network -audience: [business, analyst] +audience: human category: reference status: draft related: [training, ecosystem, directory, growth, market-analysis, business-bible] diff --git a/docs/01-vision/two-voices/control-limits.md b/docs/01-vision/two-voices/control-limits.md index e62d7cceb..a6865dc09 100644 --- a/docs/01-vision/two-voices/control-limits.md +++ b/docs/01-vision/two-voices/control-limits.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Voice of the Process: Control Limits' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Voice of the Process: Control Limits diff --git a/docs/01-vision/two-voices/index.md b/docs/01-vision/two-voices/index.md index 8ceb80e88..0ec5ededd 100644 --- a/docs/01-vision/two-voices/index.md +++ b/docs/01-vision/two-voices/index.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Two Voices: Control Limits vs Specification Limits' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Two Voices: Control Limits vs Specification Limits diff --git a/docs/01-vision/two-voices/scenarios.md b/docs/01-vision/two-voices/scenarios.md index 8036c97df..cb520aa47 100644 --- a/docs/01-vision/two-voices/scenarios.md +++ b/docs/01-vision/two-voices/scenarios.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: "Four Scenarios: When the Voices Align (or Don't)" -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Four Scenarios: When the Voices Align (or Don't) diff --git a/docs/01-vision/two-voices/spec-limits.md b/docs/01-vision/two-voices/spec-limits.md index 0224d880a..14fc8b165 100644 --- a/docs/01-vision/two-voices/spec-limits.md +++ b/docs/01-vision/two-voices/spec-limits.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Voice of the Customer: Specification Limits' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Voice of the Customer: Specification Limits diff --git a/docs/01-vision/two-voices/variation-types.md b/docs/01-vision/two-voices/variation-types.md index f343280d0..604571daa 100644 --- a/docs/01-vision/two-voices/variation-types.md +++ b/docs/01-vision/two-voices/variation-types.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Two Types of Variation, Two Types of Action' -audience: [business, analyst] +audience: human category: methodology -status: stable +status: active --- # Two Types of Variation, Two Types of Action diff --git a/docs/02-journeys/case-based-learning.md b/docs/02-journeys/case-based-learning.md index 74d893b19..40aa2e61d 100644 --- a/docs/02-journeys/case-based-learning.md +++ b/docs/02-journeys/case-based-learning.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Case-Based Learning -audience: [analyst] +audience: human category: learning -status: stable +status: active related: [case-studies, teaching, three-act-structure] --- diff --git a/docs/02-journeys/flows/azure-admin-operations.md b/docs/02-journeys/flows/azure-admin-operations.md index 57e44c25a..efe6af8ff 100644 --- a/docs/02-journeys/flows/azure-admin-operations.md +++ b/docs/02-journeys/flows/azure-admin-operations.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 10: Azure App — Admin Operations' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 10: Azure App — Admin Operations diff --git a/docs/02-journeys/flows/azure-ai-setup.md b/docs/02-journeys/flows/azure-ai-setup.md index affcc36f7..b644e207e 100644 --- a/docs/02-journeys/flows/azure-ai-setup.md +++ b/docs/02-journeys/flows/azure-ai-setup.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 9: Azure App — AI Setup' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 9: Azure App — AI Setup diff --git a/docs/02-journeys/flows/azure-daily-use.md b/docs/02-journeys/flows/azure-daily-use.md index 608c69730..e6a54a6a6 100644 --- a/docs/02-journeys/flows/azure-daily-use.md +++ b/docs/02-journeys/flows/azure-daily-use.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 7: Azure App — Daily Use' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 7: Azure App — Daily Use diff --git a/docs/02-journeys/flows/azure-first-analysis.md b/docs/02-journeys/flows/azure-first-analysis.md index 8e6a7a60a..06a033cbc 100644 --- a/docs/02-journeys/flows/azure-first-analysis.md +++ b/docs/02-journeys/flows/azure-first-analysis.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 6: Azure App — First Analysis' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 6: Azure App — First Analysis diff --git a/docs/02-journeys/flows/azure-team-collaboration.md b/docs/02-journeys/flows/azure-team-collaboration.md index da4d2fb9a..806593c53 100644 --- a/docs/02-journeys/flows/azure-team-collaboration.md +++ b/docs/02-journeys/flows/azure-team-collaboration.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 8: Azure App — Team Collaboration' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 8: Azure App — Team Collaboration diff --git a/docs/02-journeys/flows/azure-teams-mobile.md b/docs/02-journeys/flows/azure-teams-mobile.md index e990ad530..175441b92 100644 --- a/docs/02-journeys/flows/azure-teams-mobile.md +++ b/docs/02-journeys/flows/azure-teams-mobile.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Azure Mobile Flow' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Azure Mobile Flow diff --git a/docs/02-journeys/flows/content-youtube.md b/docs/02-journeys/flows/content-youtube.md index 73191898c..62ce474b8 100644 --- a/docs/02-journeys/flows/content-youtube.md +++ b/docs/02-journeys/flows/content-youtube.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 3: YouTube/Content → Website → Product' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 3: YouTube/Content → Website → Product diff --git a/docs/02-journeys/flows/enterprise.md b/docs/02-journeys/flows/enterprise.md index 21fb314a2..bf202d535 100644 --- a/docs/02-journeys/flows/enterprise.md +++ b/docs/02-journeys/flows/enterprise.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 4: Enterprise Evaluator' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 4: Enterprise Evaluator diff --git a/docs/02-journeys/flows/factor-intelligence.md b/docs/02-journeys/flows/factor-intelligence.md index b4b4b6254..a3ffa7d42 100644 --- a/docs/02-journeys/flows/factor-intelligence.md +++ b/docs/02-journeys/flows/factor-intelligence.md @@ -1,9 +1,11 @@ --- +tier: living +purpose: design title: 'Flow: Factor Intelligence' journey-phase: [scout, investigate] -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow: Factor Intelligence diff --git a/docs/02-journeys/flows/first-time.md b/docs/02-journeys/flows/first-time.md index 8ae1ff96d..357252daf 100644 --- a/docs/02-journeys/flows/first-time.md +++ b/docs/02-journeys/flows/first-time.md @@ -1,7 +1,9 @@ --- +tier: living +purpose: design title: 'First-Time Explorer Flow' status: draft -audience: [product, designer] +audience: human category: workflow --- diff --git a/docs/02-journeys/flows/index.md b/docs/02-journeys/flows/index.md index f9ae1d191..df9f58944 100644 --- a/docs/02-journeys/flows/index.md +++ b/docs/02-journeys/flows/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: User Flows -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active --- # User Flows diff --git a/docs/02-journeys/flows/project-reopen.md b/docs/02-journeys/flows/project-reopen.md index 23a3594ab..413c021f8 100644 --- a/docs/02-journeys/flows/project-reopen.md +++ b/docs/02-journeys/flows/project-reopen.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Project Reopen Flow -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active related: [return-visitor, azure-daily-use, project-dashboard, adr-042, adr-043] --- diff --git a/docs/02-journeys/flows/pwa-education.md b/docs/02-journeys/flows/pwa-education.md index eefeaf540..f81916c49 100644 --- a/docs/02-journeys/flows/pwa-education.md +++ b/docs/02-journeys/flows/pwa-education.md @@ -1,7 +1,9 @@ --- +tier: living +purpose: design title: 'PWA Education Flow' status: draft -audience: [product, designer] +audience: human category: workflow --- diff --git a/docs/02-journeys/flows/return-visitor.md b/docs/02-journeys/flows/return-visitor.md index 15d5e331c..5ba2cc30c 100644 --- a/docs/02-journeys/flows/return-visitor.md +++ b/docs/02-journeys/flows/return-visitor.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 5: Return Visitor → App' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 5: Return Visitor → App diff --git a/docs/02-journeys/flows/seo-learner.md b/docs/02-journeys/flows/seo-learner.md index 5d81336d6..0ff8c5513 100644 --- a/docs/02-journeys/flows/seo-learner.md +++ b/docs/02-journeys/flows/seo-learner.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 1: SEO Learner → Product' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 1: SEO Learner → Product diff --git a/docs/02-journeys/flows/social-discovery.md b/docs/02-journeys/flows/social-discovery.md index 0b3ab7f62..a2b8b0a43 100644 --- a/docs/02-journeys/flows/social-discovery.md +++ b/docs/02-journeys/flows/social-discovery.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow 2: Social Discovery → Case → Product' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow 2: Social Discovery → Case → Product diff --git a/docs/02-journeys/flows/wide-form-analysis.md b/docs/02-journeys/flows/wide-form-analysis.md index cb23ede7d..5323839ba 100644 --- a/docs/02-journeys/flows/wide-form-analysis.md +++ b/docs/02-journeys/flows/wide-form-analysis.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Flow: Wide-Form Data Analysis' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Flow: Wide-Form Data Analysis diff --git a/docs/02-journeys/index.md b/docs/02-journeys/index.md index a455842c7..07c66e681 100644 --- a/docs/02-journeys/index.md +++ b/docs/02-journeys/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'User Journeys' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # User Journeys diff --git a/docs/02-journeys/personas/admin-aino.md b/docs/02-journeys/personas/admin-aino.md index 90fe2d27d..a7dae952c 100644 --- a/docs/02-journeys/personas/admin-aino.md +++ b/docs/02-journeys/personas/admin-aino.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Admin Aino' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Admin Aino diff --git a/docs/02-journeys/personas/analyst-alex.md b/docs/02-journeys/personas/analyst-alex.md index 73d9190c1..cbb4ac384 100644 --- a/docs/02-journeys/personas/analyst-alex.md +++ b/docs/02-journeys/personas/analyst-alex.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Analyst Alex' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Analyst Alex diff --git a/docs/02-journeys/personas/curious-carlos.md b/docs/02-journeys/personas/curious-carlos.md index 82aa2889b..556e63800 100644 --- a/docs/02-journeys/personas/curious-carlos.md +++ b/docs/02-journeys/personas/curious-carlos.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Curious Carlos' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Curious Carlos diff --git a/docs/02-journeys/personas/engineer-eeva.md b/docs/02-journeys/personas/engineer-eeva.md index 2ea6bcfec..6d793940e 100644 --- a/docs/02-journeys/personas/engineer-eeva.md +++ b/docs/02-journeys/personas/engineer-eeva.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Engineer Eeva' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Engineer Eeva diff --git a/docs/02-journeys/personas/evaluator-erik.md b/docs/02-journeys/personas/evaluator-erik.md index 9ca60ee57..2f7a50df5 100644 --- a/docs/02-journeys/personas/evaluator-erik.md +++ b/docs/02-journeys/personas/evaluator-erik.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Evaluator Erik' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Evaluator Erik diff --git a/docs/02-journeys/personas/field-fiona.md b/docs/02-journeys/personas/field-fiona.md index 2556b1cd5..9581fc670 100644 --- a/docs/02-journeys/personas/field-fiona.md +++ b/docs/02-journeys/personas/field-fiona.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Field Fiona' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Field Fiona diff --git a/docs/02-journeys/personas/green-belt-gary.md b/docs/02-journeys/personas/green-belt-gary.md index e2af0e3a9..80462f2b8 100644 --- a/docs/02-journeys/personas/green-belt-gary.md +++ b/docs/02-journeys/personas/green-belt-gary.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Green Belt Gary' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Green Belt Gary diff --git a/docs/02-journeys/personas/index.md b/docs/02-journeys/personas/index.md index b34951e1b..3f57c9c37 100644 --- a/docs/02-journeys/personas/index.md +++ b/docs/02-journeys/personas/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Personas -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active --- # Personas diff --git a/docs/02-journeys/personas/opex-olivia.md b/docs/02-journeys/personas/opex-olivia.md index 9cfc8ed90..72b592ad2 100644 --- a/docs/02-journeys/personas/opex-olivia.md +++ b/docs/02-journeys/personas/opex-olivia.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'OpEx Olivia' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # OpEx Olivia diff --git a/docs/02-journeys/personas/student-sara.md b/docs/02-journeys/personas/student-sara.md index 3e87d0e16..5738a44ad 100644 --- a/docs/02-journeys/personas/student-sara.md +++ b/docs/02-journeys/personas/student-sara.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Student Sara' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Student Sara diff --git a/docs/02-journeys/personas/trainer-tina.md b/docs/02-journeys/personas/trainer-tina.md index 3c2b0c7e8..812de0cd4 100644 --- a/docs/02-journeys/personas/trainer-tina.md +++ b/docs/02-journeys/personas/trainer-tina.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Trainer Tina' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Trainer Tina diff --git a/docs/02-journeys/traceability.md b/docs/02-journeys/traceability.md index 7c63a0b04..41ea26bd1 100644 --- a/docs/02-journeys/traceability.md +++ b/docs/02-journeys/traceability.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Journey Traceability Index -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active related: [flows, hooks, components, packages] --- diff --git a/docs/02-journeys/use-cases/batch-consistency.md b/docs/02-journeys/use-cases/batch-consistency.md index 415d70318..48b0308fe 100644 --- a/docs/02-journeys/use-cases/batch-consistency.md +++ b/docs/02-journeys/use-cases/batch-consistency.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Batch Process Consistency' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Batch Process Consistency diff --git a/docs/02-journeys/use-cases/bottleneck-analysis.md b/docs/02-journeys/use-cases/bottleneck-analysis.md index e48dc8ba4..df5395815 100644 --- a/docs/02-journeys/use-cases/bottleneck-analysis.md +++ b/docs/02-journeys/use-cases/bottleneck-analysis.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Assembly Line Bottleneck Analysis' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Assembly Line Bottleneck Analysis diff --git a/docs/02-journeys/use-cases/call-center-performance.md b/docs/02-journeys/use-cases/call-center-performance.md index dfc766dbd..02ac87552 100644 --- a/docs/02-journeys/use-cases/call-center-performance.md +++ b/docs/02-journeys/use-cases/call-center-performance.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Call Center Performance Analysis' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Call Center Performance Analysis diff --git a/docs/02-journeys/use-cases/complaint-investigation.md b/docs/02-journeys/use-cases/complaint-investigation.md index f7a3a2042..54dd68b6e 100644 --- a/docs/02-journeys/use-cases/complaint-investigation.md +++ b/docs/02-journeys/use-cases/complaint-investigation.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Customer Complaint Investigation' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Customer Complaint Investigation diff --git a/docs/02-journeys/use-cases/consultant-delivery.md b/docs/02-journeys/use-cases/consultant-delivery.md index f72067050..eef0b899b 100644 --- a/docs/02-journeys/use-cases/consultant-delivery.md +++ b/docs/02-journeys/use-cases/consultant-delivery.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'LSS Consultant Client Delivery' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # LSS Consultant Client Delivery diff --git a/docs/02-journeys/use-cases/copq-drilldown.md b/docs/02-journeys/use-cases/copq-drilldown.md index a36887d37..9417aa28a 100644 --- a/docs/02-journeys/use-cases/copq-drilldown.md +++ b/docs/02-journeys/use-cases/copq-drilldown.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'COPQ Drill-Down' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # COPQ Drill-Down diff --git a/docs/02-journeys/use-cases/index.md b/docs/02-journeys/use-cases/index.md index 85bf3f10c..7d49ffd67 100644 --- a/docs/02-journeys/use-cases/index.md +++ b/docs/02-journeys/use-cases/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Use Cases' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Use Cases diff --git a/docs/02-journeys/use-cases/lead-time-variation.md b/docs/02-journeys/use-cases/lead-time-variation.md index 961533dc6..78615dd44 100644 --- a/docs/02-journeys/use-cases/lead-time-variation.md +++ b/docs/02-journeys/use-cases/lead-time-variation.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Lead Time Variation Analysis' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Lead Time Variation Analysis diff --git a/docs/02-journeys/use-cases/on-time-delivery.md b/docs/02-journeys/use-cases/on-time-delivery.md index 5877e90d2..75c04812f 100644 --- a/docs/02-journeys/use-cases/on-time-delivery.md +++ b/docs/02-journeys/use-cases/on-time-delivery.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'On-Time Delivery Analysis' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # On-Time Delivery Analysis diff --git a/docs/02-journeys/use-cases/patient-wait-time.md b/docs/02-journeys/use-cases/patient-wait-time.md index 462d5e46e..6e39fafc5 100644 --- a/docs/02-journeys/use-cases/patient-wait-time.md +++ b/docs/02-journeys/use-cases/patient-wait-time.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Patient Wait Time Variation' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Patient Wait Time Variation diff --git a/docs/02-journeys/use-cases/pharma-oos.md b/docs/02-journeys/use-cases/pharma-oos.md index dac13c5ad..2d0acb557 100644 --- a/docs/02-journeys/use-cases/pharma-oos.md +++ b/docs/02-journeys/use-cases/pharma-oos.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Pharma OOS Investigation' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Pharma OOS Investigation diff --git a/docs/02-journeys/use-cases/supplier-performance.md b/docs/02-journeys/use-cases/supplier-performance.md index 686205d8b..26f0d5941 100644 --- a/docs/02-journeys/use-cases/supplier-performance.md +++ b/docs/02-journeys/use-cases/supplier-performance.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Supplier Performance Comparison' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Supplier Performance Comparison diff --git a/docs/02-journeys/use-cases/supplier-ppap.md b/docs/02-journeys/use-cases/supplier-ppap.md index 134fae319..762474786 100644 --- a/docs/02-journeys/use-cases/supplier-ppap.md +++ b/docs/02-journeys/use-cases/supplier-ppap.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Supplier PPAP Capability Studies' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # Supplier PPAP Capability Studies diff --git a/docs/02-journeys/use-cases/university-spc.md b/docs/02-journeys/use-cases/university-spc.md index 8cb9624e3..fec560bee 100644 --- a/docs/02-journeys/use-cases/university-spc.md +++ b/docs/02-journeys/use-cases/university-spc.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'University SPC Course' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # University SPC Course diff --git a/docs/02-journeys/ux-research.md b/docs/02-journeys/ux-research.md index 8155afbc7..8be94751b 100644 --- a/docs/02-journeys/ux-research.md +++ b/docs/02-journeys/ux-research.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'UX Research: VariScout Lite' -audience: [product, designer] +audience: human category: workflow -status: stable +status: active --- # UX Research: VariScout Lite diff --git a/docs/03-features/ai/visual-grounding.md b/docs/03-features/ai/visual-grounding.md index 4ef7992e4..c88e5213f 100644 --- a/docs/03-features/ai/visual-grounding.md +++ b/docs/03-features/ai/visual-grounding.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: CoScout Visual Grounding -audience: [analyst, engineer] +audience: human category: ai -status: stable +status: active related: [coscout, visual-grounding, ref-markers] --- diff --git a/docs/03-features/analysis/boxplot.md b/docs/03-features/analysis/boxplot.md index 2c4c8df03..6bfbae663 100644 --- a/docs/03-features/analysis/boxplot.md +++ b/docs/03-features/analysis/boxplot.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Boxplot -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [anova, eta-squared, violin-mode, factor-comparison] --- diff --git a/docs/03-features/analysis/capability.md b/docs/03-features/analysis/capability.md index 9ec9532de..147d1b18b 100644 --- a/docs/03-features/analysis/capability.md +++ b/docs/03-features/analysis/capability.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Capability Analysis -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [cpk, cp, normal-distribution, sigma-estimation, specification-limits] --- diff --git a/docs/03-features/analysis/characteristic-types.md b/docs/03-features/analysis/characteristic-types.md index 4267d0ce3..8d8393600 100644 --- a/docs/03-features/analysis/characteristic-types.md +++ b/docs/03-features/analysis/characteristic-types.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Characteristic Type Awareness -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [continuous, attribute, measurement-type] --- diff --git a/docs/03-features/analysis/defect-analysis.md b/docs/03-features/analysis/defect-analysis.md index d028d29eb..f7fb49399 100644 --- a/docs/03-features/analysis/defect-analysis.md +++ b/docs/03-features/analysis/defect-analysis.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Defect Analysis -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [defect, pareto, aggregation, failure-mode, evidence-map] --- diff --git a/docs/03-features/analysis/i-chart.md b/docs/03-features/analysis/i-chart.md index bd0f4d0fb..b563166ec 100644 --- a/docs/03-features/analysis/i-chart.md +++ b/docs/03-features/analysis/i-chart.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: I-Chart (Individuals Chart) -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [control-limits, nelson-rules, stability, time-series] --- diff --git a/docs/03-features/analysis/index.md b/docs/03-features/analysis/index.md index 799751650..846840349 100644 --- a/docs/03-features/analysis/index.md +++ b/docs/03-features/analysis/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Analysis Features -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active --- # Analysis Features diff --git a/docs/03-features/analysis/multi-level-dashboard.md b/docs/03-features/analysis/multi-level-dashboard.md index 2b2e66548..2d6bf12cf 100644 --- a/docs/03-features/analysis/multi-level-dashboard.md +++ b/docs/03-features/analysis/multi-level-dashboard.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Multi-Level Dashboard -audience: [analyst] +audience: human category: analysis -status: delivered +status: active related: [timeline-window-investigations, capability, process-hub-capability, stats-panel] --- diff --git a/docs/03-features/analysis/nelson-rules.md b/docs/03-features/analysis/nelson-rules.md index 53f0b677a..33fbaecfb 100644 --- a/docs/03-features/analysis/nelson-rules.md +++ b/docs/03-features/analysis/nelson-rules.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Nelson Rules -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [control-chart, i-chart, special-cause, runs] --- diff --git a/docs/03-features/analysis/pareto.md b/docs/03-features/analysis/pareto.md index dab770106..945d79a09 100644 --- a/docs/03-features/analysis/pareto.md +++ b/docs/03-features/analysis/pareto.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Pareto Chart -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [vital-few, contribution-percentage, drill-down] --- diff --git a/docs/03-features/analysis/performance-mode.md b/docs/03-features/analysis/performance-mode.md index d380a697c..fa4a653c3 100644 --- a/docs/03-features/analysis/performance-mode.md +++ b/docs/03-features/analysis/performance-mode.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Performance Mode -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [multi-channel, cpk-comparison, wide-format] --- diff --git a/docs/03-features/analysis/probability-plot.md b/docs/03-features/analysis/probability-plot.md index 6f80a9af1..f23512f63 100644 --- a/docs/03-features/analysis/probability-plot.md +++ b/docs/03-features/analysis/probability-plot.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Probability Plot -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [normal-distribution, anderson-darling, qq-plot] --- diff --git a/docs/03-features/analysis/process-hub-capability.md b/docs/03-features/analysis/process-hub-capability.md index 075328682..09297f05a 100644 --- a/docs/03-features/analysis/process-hub-capability.md +++ b/docs/03-features/analysis/process-hub-capability.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Process Hub Capability Tab' -audience: [analyst, engineer, product] +audience: human category: analysis -status: stable +status: active last-reviewed: 2026-04-29 related: [production-line-glance, process-hub, capability, hub-cadence-review] --- diff --git a/docs/03-features/analysis/regression-methodology.md b/docs/03-features/analysis/regression-methodology.md index 4266bcab2..94a80902d 100644 --- a/docs/03-features/analysis/regression-methodology.md +++ b/docs/03-features/analysis/regression-methodology.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Regression Methodology -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [best-subsets, factor-intelligence, evidence-map, what-if] --- diff --git a/docs/03-features/analysis/staged-analysis.md b/docs/03-features/analysis/staged-analysis.md index 4ec7f7ebe..b6ae2c9ee 100644 --- a/docs/03-features/analysis/staged-analysis.md +++ b/docs/03-features/analysis/staged-analysis.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Staged Analysis -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [before-after, stage-column, intervention] --- diff --git a/docs/03-features/analysis/stats-panel.md b/docs/03-features/analysis/stats-panel.md index 66edbc4be..2bf4a8177 100644 --- a/docs/03-features/analysis/stats-panel.md +++ b/docs/03-features/analysis/stats-panel.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Statistics Panel -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [capability, probability-plot, specs, analysis-dashboard] --- diff --git a/docs/03-features/analysis/subgroup-capability.md b/docs/03-features/analysis/subgroup-capability.md index 35a2403f7..f5c0f379c 100644 --- a/docs/03-features/analysis/subgroup-capability.md +++ b/docs/03-features/analysis/subgroup-capability.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Subgroup Capability Analysis -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [cp, cpk, rational-subgrouping, i-chart] --- diff --git a/docs/03-features/analysis/timeline-window-investigations.md b/docs/03-features/analysis/timeline-window-investigations.md index 60e5ce364..e7261b245 100644 --- a/docs/03-features/analysis/timeline-window-investigations.md +++ b/docs/03-features/analysis/timeline-window-investigations.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Timeline Windows in Investigations -audience: [analyst] +audience: human category: analysis -status: delivered +status: active related: [multi-level-dashboard, capability, process-hub-capability, staged-analysis] --- diff --git a/docs/03-features/analysis/variation-decomposition.md b/docs/03-features/analysis/variation-decomposition.md index 9bb9f7ede..e8723195a 100644 --- a/docs/03-features/analysis/variation-decomposition.md +++ b/docs/03-features/analysis/variation-decomposition.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Variation Decomposition -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [eta-squared, r-squared-adj, anova, factor-intelligence] --- diff --git a/docs/03-features/analysis/yamazumi.md b/docs/03-features/analysis/yamazumi.md index e5ca9b689..41ca4b9a2 100644 --- a/docs/03-features/analysis/yamazumi.md +++ b/docs/03-features/analysis/yamazumi.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Yamazumi Analysis -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active related: [yamazumi, lean, time-study, takt-time, waste] --- diff --git a/docs/03-features/data/data-input.md b/docs/03-features/data/data-input.md index 1efdd7c35..8a9062152 100644 --- a/docs/03-features/data/data-input.md +++ b/docs/03-features/data/data-input.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Data Input -audience: [analyst, engineer] +audience: human category: data -status: stable +status: active related: [parser, csv, excel, paste, file-upload] --- diff --git a/docs/03-features/data/index.md b/docs/03-features/data/index.md index df2bddd38..d48aff88a 100644 --- a/docs/03-features/data/index.md +++ b/docs/03-features/data/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Data Features -audience: [analyst, engineer] +audience: human category: analysis -status: stable +status: active --- # Data Features diff --git a/docs/03-features/data/storage.md b/docs/03-features/data/storage.md index dee5a24df..8281c8879 100644 --- a/docs/03-features/data/storage.md +++ b/docs/03-features/data/storage.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Project Persistence -audience: [analyst, engineer] +audience: human category: data -status: stable +status: active related: [indexeddb, blob-storage, browser-cache, analysis-state] --- diff --git a/docs/03-features/data/validation.md b/docs/03-features/data/validation.md index ffb6f203b..3641ae3e2 100644 --- a/docs/03-features/data/validation.md +++ b/docs/03-features/data/validation.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Data Validation -audience: [analyst, engineer] +audience: human category: data -status: stable +status: active related: [parser, quality-checks, data-input] --- diff --git a/docs/03-features/index.md b/docs/03-features/index.md index 0179b5ad1..5d9d4f384 100644 --- a/docs/03-features/index.md +++ b/docs/03-features/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Features -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active related: [analysis, workflows, data, navigation, learning] --- diff --git a/docs/03-features/learning/glossary.md b/docs/03-features/learning/glossary.md index a48cd00cb..3812accca 100644 --- a/docs/03-features/learning/glossary.md +++ b/docs/03-features/learning/glossary.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Glossary & Knowledge Model -audience: [analyst, engineer] +audience: human category: learning -status: stable +status: active related: [glossary, terminology, help-tooltips, knowledge-model] --- diff --git a/docs/03-features/navigation/breadcrumbs.md b/docs/03-features/navigation/breadcrumbs.md index 14287fcff..dbf7b03c5 100644 --- a/docs/03-features/navigation/breadcrumbs.md +++ b/docs/03-features/navigation/breadcrumbs.md @@ -1,7 +1,9 @@ --- +tier: living +purpose: design title: 'Filter Breadcrumb Navigation' status: draft -audience: [analyst, engineer] +audience: human category: navigation --- diff --git a/docs/03-features/navigation/drill-down.md b/docs/03-features/navigation/drill-down.md index 2b8e69d5d..13eeb45cf 100644 --- a/docs/03-features/navigation/drill-down.md +++ b/docs/03-features/navigation/drill-down.md @@ -1,7 +1,9 @@ --- +tier: living +purpose: design title: 'Drill-Down Navigation' status: draft -audience: [analyst, engineer] +audience: human category: navigation --- diff --git a/docs/03-features/navigation/progressive-filtering.md b/docs/03-features/navigation/progressive-filtering.md index ef084f088..3108c2bc9 100644 --- a/docs/03-features/navigation/progressive-filtering.md +++ b/docs/03-features/navigation/progressive-filtering.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Progressive Filtering -audience: [analyst, engineer] +audience: human category: navigation -status: stable +status: active related: [filter-chips, progressive-stratification, eta-squared, chart-interaction] --- diff --git a/docs/03-features/specifications.md b/docs/03-features/specifications.md index 63d5dd60c..f03607ca1 100644 --- a/docs/03-features/specifications.md +++ b/docs/03-features/specifications.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: VariScout Product Spec -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active last-reviewed: 2026-05-16 related: [wedge, adr-082, product-overview, feature-parity, journey] --- diff --git a/docs/03-features/user-guide.md b/docs/03-features/user-guide.md index 6164f9de9..08bb640ef 100644 --- a/docs/03-features/user-guide.md +++ b/docs/03-features/user-guide.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'VariScout Lite: User Guide' -audience: [analyst] +audience: human category: reference -status: stable +status: active related: [chart-customization, specifications, axis-editing] --- diff --git a/docs/03-features/workflows/analysis-flow.md b/docs/03-features/workflows/analysis-flow.md index e0aa722e9..3ab726abe 100644 --- a/docs/03-features/workflows/analysis-flow.md +++ b/docs/03-features/workflows/analysis-flow.md @@ -1,9 +1,11 @@ --- +tier: living +purpose: design title: Analysis Flow description: Complete two-thread analysis flow — variation analysis and capability analysis — through FRAME, SCOUT, INVESTIGATE, and IMPROVE phases -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active related: [capability, subgroup-capability, progressive-stratification, investigation-diamond] journey-phase: [all] --- diff --git a/docs/03-features/workflows/analysis-journey-map.md b/docs/03-features/workflows/analysis-journey-map.md index e2b25d06e..9dc7e6bcb 100644 --- a/docs/03-features/workflows/analysis-journey-map.md +++ b/docs/03-features/workflows/analysis-journey-map.md @@ -1,10 +1,12 @@ --- +tier: living +purpose: design title: Analysis Journey Map description: Visual map of the 4-phase investigation journey with Survey readiness checks, CoScout companion, and PDCA loop journey-phase: [all] -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active --- # Analysis Journey Map diff --git a/docs/03-features/workflows/decision-trees.md b/docs/03-features/workflows/decision-trees.md index 2c0b9d493..99629b8ea 100644 --- a/docs/03-features/workflows/decision-trees.md +++ b/docs/03-features/workflows/decision-trees.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Decision Trees -audience: [analyst] +audience: human category: workflow -status: stable +status: active related: [chart-selection, workflow-guidance] journey-phase: scout --- diff --git a/docs/03-features/workflows/deep-dive.md b/docs/03-features/workflows/deep-dive.md index 666477df6..db3052278 100644 --- a/docs/03-features/workflows/deep-dive.md +++ b/docs/03-features/workflows/deep-dive.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Deep Dive Workflow -audience: [analyst] +audience: human category: workflow -status: stable +status: active related: [investigation, drill-down, variation-decomposition] --- diff --git a/docs/03-features/workflows/drill-down-workflow.md b/docs/03-features/workflows/drill-down-workflow.md index 9b099cefe..a5545d056 100644 --- a/docs/03-features/workflows/drill-down-workflow.md +++ b/docs/03-features/workflows/drill-down-workflow.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Drill-Down Analysis Workflow -audience: [analyst] +audience: human category: workflow -status: stable +status: active related: [drill-down, filter-chips, eta-squared, r-squared-adj, factor-intelligence] --- diff --git a/docs/03-features/workflows/four-lenses-workflow.md b/docs/03-features/workflows/four-lenses-workflow.md index fc8d20a28..a5c1e6914 100644 --- a/docs/03-features/workflows/four-lenses-workflow.md +++ b/docs/03-features/workflows/four-lenses-workflow.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Four Lenses Analysis Workflow -audience: [analyst] +audience: human category: workflow -status: stable +status: active related: [four-lenses, change, failure, flow, value] --- diff --git a/docs/03-features/workflows/improvement-prioritization.md b/docs/03-features/workflows/improvement-prioritization.md index bbddf5717..d5fe51121 100644 --- a/docs/03-features/workflows/improvement-prioritization.md +++ b/docs/03-features/workflows/improvement-prioritization.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Improvement Prioritization -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active related: [improve, prioritization, risk, timeframe, cost, matrix, ideas, actions] --- diff --git a/docs/03-features/workflows/improvement-workspace.md b/docs/03-features/workflows/improvement-workspace.md index 7aa5a05d9..615fd1cc5 100644 --- a/docs/03-features/workflows/improvement-workspace.md +++ b/docs/03-features/workflows/improvement-workspace.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Improvement Workspace -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active related: [improvement, pdca, prioritization, what-if, actions, verification] --- diff --git a/docs/03-features/workflows/index.md b/docs/03-features/workflows/index.md index 0e8987d2e..ef889d66f 100644 --- a/docs/03-features/workflows/index.md +++ b/docs/03-features/workflows/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Analyst Workflows -audience: [analyst] +audience: human category: workflow -status: stable +status: active related: [four-lenses, drill-down, investigation] --- diff --git a/docs/03-features/workflows/investigation-lifecycle-map.md b/docs/03-features/workflows/investigation-lifecycle-map.md index 7ec9fd448..3711d34da 100644 --- a/docs/03-features/workflows/investigation-lifecycle-map.md +++ b/docs/03-features/workflows/investigation-lifecycle-map.md @@ -1,10 +1,12 @@ --- +tier: living +purpose: design title: Investigation Lifecycle Map description: State diagrams for investigation diamond phases and Finding status lifecycle with transition triggers and CoScout behavior journey-phase: investigate -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active --- # Investigation Lifecycle Map diff --git a/docs/03-features/workflows/investigation-to-action.md b/docs/03-features/workflows/investigation-to-action.md index 7881e2d5f..808520e8a 100644 --- a/docs/03-features/workflows/investigation-to-action.md +++ b/docs/03-features/workflows/investigation-to-action.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Investigation to Action Workflow -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active related: [findings, what-if, hypothesis, improvement-actions] --- diff --git a/docs/03-features/workflows/investigation-wall.md b/docs/03-features/workflows/investigation-wall.md index 7fdc8408a..6c4fbfdc9 100644 --- a/docs/03-features/workflows/investigation-wall.md +++ b/docs/03-features/workflows/investigation-wall.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Investigation Wall' -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active last-reviewed: 2026-04-29 related: [investigation-spine, evidence-map, suspected-cause, question-driven-eda, hmw-brainstorm] --- diff --git a/docs/03-features/workflows/knowledge-base-search.md b/docs/03-features/workflows/knowledge-base-search.md index 7c933013b..f491a4b9b 100644 --- a/docs/03-features/workflows/knowledge-base-search.md +++ b/docs/03-features/workflows/knowledge-base-search.md @@ -1,9 +1,11 @@ --- +tier: living +purpose: design title: 'Knowledge Base Search' journey-phase: [scout, investigate, improve] -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active --- # Knowledge Base Search diff --git a/docs/03-features/workflows/performance-mode-workflow.md b/docs/03-features/workflows/performance-mode-workflow.md index e2b022bff..687234bc8 100644 --- a/docs/03-features/workflows/performance-mode-workflow.md +++ b/docs/03-features/workflows/performance-mode-workflow.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Performance Mode Workflow -audience: [analyst] +audience: human category: workflow -status: stable +status: active related: [performance-mode, multi-channel, cpk] journey-phase: scout --- diff --git a/docs/03-features/workflows/process-maps.md b/docs/03-features/workflows/process-maps.md index f33433962..9d6521d7c 100644 --- a/docs/03-features/workflows/process-maps.md +++ b/docs/03-features/workflows/process-maps.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Visual Process Maps' -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active --- # Visual Process Maps diff --git a/docs/03-features/workflows/project-dashboard.md b/docs/03-features/workflows/project-dashboard.md index 2c3b182a9..98eaedf41 100644 --- a/docs/03-features/workflows/project-dashboard.md +++ b/docs/03-features/workflows/project-dashboard.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Project Dashboard' -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active related: [investigation, findings, hypotheses, coscout, azure, navigation] --- diff --git a/docs/03-features/workflows/question-driven-investigation.md b/docs/03-features/workflows/question-driven-investigation.md index f254d3424..526e35690 100644 --- a/docs/03-features/workflows/question-driven-investigation.md +++ b/docs/03-features/workflows/question-driven-investigation.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Question-Driven Investigation Flow -audience: [analyst, engineer] +audience: human category: workflow -status: stable +status: active related: [question-tree, investigation-phases, investigation-diamond, factor-intelligence] --- diff --git a/docs/03-features/workflows/quick-check.md b/docs/03-features/workflows/quick-check.md index 608e103cc..e917c6f19 100644 --- a/docs/03-features/workflows/quick-check.md +++ b/docs/03-features/workflows/quick-check.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Quick Check Workflow -audience: [analyst] +audience: human category: workflow -status: stable +status: active related: [monitoring, shift-check, i-chart] --- diff --git a/docs/04-cases/assembly-line/index.md b/docs/04-cases/assembly-line/index.md index 6bb852986..8dbf778d3 100644 --- a/docs/04-cases/assembly-line/index.md +++ b/docs/04-cases/assembly-line/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Assembly Line Case - PCB Assembly' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # Assembly Line Case - PCB Assembly diff --git a/docs/04-cases/avocado/index.md b/docs/04-cases/avocado/index.md index 5c2006767..5875c29b4 100644 --- a/docs/04-cases/avocado/index.md +++ b/docs/04-cases/avocado/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Avocado Coating Case' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # Avocado Coating Case diff --git a/docs/04-cases/bottleneck/index.md b/docs/04-cases/bottleneck/index.md index d577a1bdf..7192a1405 100644 --- a/docs/04-cases/bottleneck/index.md +++ b/docs/04-cases/bottleneck/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Bottleneck Case - ESTIEM' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # Bottleneck Case - ESTIEM diff --git a/docs/04-cases/coffee/index.md b/docs/04-cases/coffee/index.md index 5bc5ef8ce..772d7cd05 100644 --- a/docs/04-cases/coffee/index.md +++ b/docs/04-cases/coffee/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Coffee Washing Station Case' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # Coffee Washing Station Case diff --git a/docs/04-cases/hospital-ward/index.md b/docs/04-cases/hospital-ward/index.md index 22608fe80..fc54ebb90 100644 --- a/docs/04-cases/hospital-ward/index.md +++ b/docs/04-cases/hospital-ward/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Hospital Ward Case - ABB/Practitioner Context' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # Hospital Ward Case - ABB/Practitioner Context diff --git a/docs/04-cases/index.md b/docs/04-cases/index.md index bae7cf863..09fa49569 100644 --- a/docs/04-cases/index.md +++ b/docs/04-cases/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'VaRiScout Lite Case Studies' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # VaRiScout Lite Case Studies diff --git a/docs/04-cases/investigation-showcase/README.md b/docs/04-cases/investigation-showcase/README.md index ebf92681c..d712dca18 100644 --- a/docs/04-cases/investigation-showcase/README.md +++ b/docs/04-cases/investigation-showcase/README.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Investigation Showcase: Fill Weight' -audience: [analyst, developer] +audience: human category: workflow -status: stable +status: active related: [investigation, findings, questions, suspected-cause, regression] --- @@ -14,12 +16,12 @@ related: [investigation, findings, questions, suspected-cause, regression] A food packaging company operates 3 filling lines across 3 shifts. Customer complaints about overfilled packages triggered an investigation. -| Factor | Levels | Story | -|--------|--------|-------| -| Line | Line 1, Line 2, Line 3 | Line 2 has worn nozzle → mean shift +2g, 2× variation | -| Shift | Morning, Afternoon, Night | Night shift has 1.5× variation (fatigue) | -| Material_Batch | A, B, C, D | Batch C slightly low (ruled out — negligible effect) | -| Operator | Kim, Lee, Park | No significant effect | +| Factor | Levels | Story | +| -------------- | ------------------------- | ----------------------------------------------------- | +| Line | Line 1, Line 2, Line 3 | Line 2 has worn nozzle → mean shift +2g, 2× variation | +| Shift | Morning, Afternoon, Night | Night shift has 1.5× variation (fatigue) | +| Material_Batch | A, B, C, D | Batch C slightly low (ruled out — negligible effect) | +| Operator | Kim, Lee, Park | No significant effect | **Specs:** LSL = 495g, USL = 505g, Target = 500g @@ -29,24 +31,24 @@ The dataset loads at a **mid-investigation** state: ### Questions (6) -| Question | Status | Factor | Evidence | -|----------|--------|--------|----------| -| Does the filling line affect fill weight? | Answered | Line | η² = 0.25, R²adj = 0.23 | -| Is Line 2's mean shift caused by nozzle wear? | Investigating | Line (gemba) | Pending inspection | -| Does shift affect fill weight variation? | Investigating | Shift | η² = 0.08 | -| Is night shift variation due to fatigue or maintenance? | Open | Shift (gemba) | — | -| Does material batch affect fill weight? | Ruled out | Material_Batch | η² = 0.02 | -| Does operator affect fill weight? | Ruled out | Operator | η² = 0.005 | +| Question | Status | Factor | Evidence | +| ------------------------------------------------------- | ------------- | -------------- | ----------------------- | +| Does the filling line affect fill weight? | Answered | Line | η² = 0.25, R²adj = 0.23 | +| Is Line 2's mean shift caused by nozzle wear? | Investigating | Line (gemba) | Pending inspection | +| Does shift affect fill weight variation? | Investigating | Shift | η² = 0.08 | +| Is night shift variation due to fatigue or maintenance? | Open | Shift (gemba) | — | +| Does material batch affect fill weight? | Ruled out | Material_Batch | η² = 0.02 | +| Does operator affect fill weight? | Ruled out | Operator | η² = 0.005 | ### Findings (5) -| Finding | Status | Key Insight | -|---------|--------|-------------| -| Line 2 runs consistently high (~502g) | Analyzed (key-driver) | Has What-If projection | -| Night shift has wider spread | Investigating | Linked to shift question | -| Batch C slightly low but within spec | Observed | Inconclusive | -| Line 2 + Night shift worst Cpk | Investigating | Interaction effect | -| Line 1 Morning = best-in-class | Analyzed (benchmark) | Cpk ~1.65 | +| Finding | Status | Key Insight | +| ------------------------------------- | --------------------- | ------------------------ | +| Line 2 runs consistently high (~502g) | Analyzed (key-driver) | Has What-If projection | +| Night shift has wider spread | Investigating | Linked to shift question | +| Batch C slightly low but within spec | Observed | Inconclusive | +| Line 2 + Night shift worst Cpk | Investigating | Interaction effect | +| Line 1 Morning = best-in-class | Analyzed (benchmark) | Cpk ~1.65 | ### Suspected Cause Hub (1) @@ -79,10 +81,10 @@ Observation, Fill_Weight_g, Line, Shift, Material_Batch, Operator ## Platform Availability -| Feature | PWA | Azure | -|---------|-----|-------| -| Data + charts | ✓ | ✓ | -| Questions (PI Panel) | ✓ | ✓ | -| Findings | ✓ | ✓ | -| Suspected cause hubs | — | ✓ | -| Improvement ideas | — | ✓ | +| Feature | PWA | Azure | +| -------------------- | --- | ----- | +| Data + charts | ✓ | ✓ | +| Questions (PI Panel) | ✓ | ✓ | +| Findings | ✓ | ✓ | +| Suspected cause hubs | — | ✓ | +| Improvement ideas | — | ✓ | diff --git a/docs/04-cases/machine-utilization/index.md b/docs/04-cases/machine-utilization/index.md index c59ef0441..fafada414 100644 --- a/docs/04-cases/machine-utilization/index.md +++ b/docs/04-cases/machine-utilization/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Case Study: "Do We Really Need a New Machine?"' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # Case Study: "Do We Really Need a New Machine?" diff --git a/docs/04-cases/oven-zones/index.md b/docs/04-cases/oven-zones/index.md index 44e387d4b..89a510530 100644 --- a/docs/04-cases/oven-zones/index.md +++ b/docs/04-cases/oven-zones/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Multi-Zone Oven Temperature Control Case Study' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # Multi-Zone Oven Temperature Control Case Study diff --git a/docs/04-cases/packaging/index.md b/docs/04-cases/packaging/index.md index e0e0ffffa..9484e3699 100644 --- a/docs/04-cases/packaging/index.md +++ b/docs/04-cases/packaging/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Packaging Line Case' -audience: [analyst, engineer] +audience: human category: learning -status: reference +status: active --- # Packaging Line Case diff --git a/docs/05-technical/architecture-generated.md b/docs/05-technical/architecture-generated.md new file mode 100644 index 000000000..2bad8967b --- /dev/null +++ b/docs/05-technical/architecture-generated.md @@ -0,0 +1,92 @@ +--- +title: 'Architecture (auto-generated)' +purpose: system +tier: living +audience: agent +topic: [architecture, generated] +status: active +last-verified: 2026-05-17 +--- + +> AUTO-GENERATED by `pnpm docs:gen-arch` — do not edit by hand. Regenerate after changing `package.json#dependencies`, `tsconfig.json#paths`, `package.json#exports`, or `apps/*/src/index.css` `@source` directives. + +# Architecture (auto-generated) + +Generated: 2026-05-17. Source: `scripts/docs/gen-arch.mjs`. + +--- + +## Workspace Dependency Graph + +Internal workspace dependencies only (edges within the `@variscout/*` namespace). External npm dependencies omitted for clarity. + +```mermaid +graph LR + Charts["charts"] + Core["core"] + Data["data"] + Hooks["hooks"] + Stores["stores"] + Ui["ui"] + AzureApp["azure-app (app)"] + Docs["docs (app)"] + Pwa["pwa (app)"] + Website["website (app)"] + + Charts --> Core + Data --> Core + Hooks --> Core + Hooks --> Data + Hooks --> Stores + Stores --> Core + Ui --> Charts + Ui --> Core + Ui --> Hooks + Ui --> Stores + AzureApp --> Charts + AzureApp --> Core + AzureApp --> Data + AzureApp --> Hooks + AzureApp --> Stores + AzureApp --> Ui + Pwa --> Charts + Pwa --> Core + Pwa --> Data + Pwa --> Hooks + Pwa --> Stores + Pwa --> Ui + Website --> Charts + Website --> Core + Website --> Data + Website --> Ui +``` + +--- + +## Sub-Path Export Map + +Sub-path exports declared in `package.json#exports` and corresponding TypeScript path aliases in `tsconfig.json#compilerOptions.paths`. These must be updated together — adding one without the other silently breaks imports. See `.claude/INVARIANTS.md` §Sub-path exports. + +| Package | `package.json` exports | `tsconfig.json` paths | +|---------|------------------------|----------------------| +| `@variscout/charts` | `.`, `./Boxplot`, `./CapabilityHistogram`, `./ChartSourceBar`, `./IChart`, `./ParetoChart`, `./ProbabilityPlot` | _(none)_ | +| `@variscout/core` | `.`, `./actions`, `./ai`, `./canvas`, `./capability`, `./defect`, `./evidenceMap`, `./evidenceSources`, `./export`, `./findings`, `./frame`, `./glossary`, `./i18n`, `./identity`, `./improvementProject`, `./matchSummary`, `./navigation`, `./pareto`, `./parser`, `./performance`, `./persistence`, `./processHub`, `./processMoments`, `./projectMetadata`, `./responsive`, `./signalCards`, `./stats`, `./strategy`, `./survey`, `./tier`, `./time`, `./types`, `./ui-types`, `./variation`, `./yamazumi` | _(none)_ | +| `@variscout/data` | `.`, `./computed`, `./samples` | _(none)_ | +| `@variscout/hooks` | `.` | _(none)_ | +| `@variscout/stores` | `.` | _(none)_ | +| `@variscout/ui` | `.`, `./ipDetail`, `./styles/components.css`, `./styles/report-print.css`, `./styles/theme.css` | _(none)_ | +| `@variscout/azure-app` | _(none)_ | `@/*`, `@variscout/charts`, `@variscout/charts/*`, `@variscout/core`, `@variscout/core/*`, `@variscout/data`, `@variscout/data/*`, `@variscout/hooks`, `@variscout/hooks/*`, `@variscout/ui`, `@variscout/ui/*`, `@variscout/ui/ipDetail` | +| `@variscout/pwa` | _(none)_ | `@variscout/charts`, `@variscout/charts/*`, `@variscout/core`, `@variscout/core/*`, `@variscout/data`, `@variscout/data/*`, `@variscout/hooks`, `@variscout/hooks/*`, `@variscout/ui`, `@variscout/ui/*`, `@variscout/ui/ipDetail` | + +--- + +## Tailwind v4 @source Coverage + +Each app must declare `@source` directives for every shared package whose class names it uses. Missing a directive silently breaks Tailwind v4 responsive utilities. See `.claude/INVARIANTS.md` §`@source` directive. + +| App | `@source` directives in `src/index.css` | +|-----|------------------------------------------| +| `@variscout/azure-app` | `../../../packages/ui/src/**/*.tsx`
`../../../packages/charts/src/**/*.tsx`
`../../../packages/hooks/src/**/*.ts` | +| `@variscout/docs` | _(no src/index.css — not a Tailwind app)_ | +| `@variscout/pwa` | `../../../packages/ui/src/**/*.tsx`
`../../../packages/charts/src/**/*.tsx`
`../../../packages/hooks/src/**/*.ts` | +| `@variscout/website` | _(no src/index.css — not a Tailwind app)_ | diff --git a/docs/05-technical/architecture.md b/docs/05-technical/architecture.md index 6097032ff..4e820ad83 100644 --- a/docs/05-technical/architecture.md +++ b/docs/05-technical/architecture.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'VariScout: Architecture Overview' -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [monorepo, offline-first, pwa, azure] --- diff --git a/docs/05-technical/architecture/ai-architecture.md b/docs/05-technical/architecture/ai-architecture.md index 2aaa85df3..7c5241a3b 100644 --- a/docs/05-technical/architecture/ai-architecture.md +++ b/docs/05-technical/architecture/ai-architecture.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: AI Architecture -audience: [developer] +audience: human category: architecture -status: stable +status: active scope: System architecture, packages, auth, ARM, data flow, hook composition, cost controls, testing related: [ai-journey-integration, ai-context-engineering, aix-design-system, knowledge-model] --- diff --git a/docs/05-technical/architecture/ai-context-engineering.md b/docs/05-technical/architecture/ai-context-engineering.md index 96d305f3a..5857ea0ec 100644 --- a/docs/05-technical/architecture/ai-context-engineering.md +++ b/docs/05-technical/architecture/ai-context-engineering.md @@ -1,9 +1,11 @@ --- +tier: living +purpose: system title: 'AI Context Engineering & Pipeline Reference' scope: Prompt tiers, context layers, token budgets, phase-aware filtering, caching -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [ai-architecture, ai-journey-integration, aix-design-system] points_to: - ai-architecture.md (system architecture, data flow, hook composition) diff --git a/docs/05-technical/architecture/ai-journey-integration.md b/docs/05-technical/architecture/ai-journey-integration.md index 15bfe9c15..b7213b979 100644 --- a/docs/05-technical/architecture/ai-journey-integration.md +++ b/docs/05-technical/architecture/ai-journey-integration.md @@ -1,9 +1,11 @@ --- +tier: living +purpose: system title: AI Journey Integration scope: Entry point — AI × Phase × Mode overview, collaborator capabilities, user-facing behavior -audience: [analyst, engineer] +audience: human category: architecture -status: stable +status: active related: [ai-architecture, ai-context-engineering, aix-design-system, journey] points_to: - ai-architecture.md (system architecture, packages, auth, data flow, cost controls) diff --git a/docs/05-technical/architecture/aix-design-system.md b/docs/05-technical/architecture/aix-design-system.md index 6151fb66b..e70cb0081 100644 --- a/docs/05-technical/architecture/aix-design-system.md +++ b/docs/05-technical/architecture/aix-design-system.md @@ -1,9 +1,11 @@ --- +tier: living +purpose: system title: AIX Design System scope: Governance reference — principles, tone, confidence calibration, interaction patterns, gap tracker -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [ai-architecture, ai-context-engineering, ai-journey-integration, knowledge-base] points_to: - ai-architecture.md (system architecture, data flow, cost controls) diff --git a/docs/05-technical/architecture/capability-target-cascade.md b/docs/05-technical/architecture/capability-target-cascade.md index 00dcedae0..4766b85b6 100644 --- a/docs/05-technical/architecture/capability-target-cascade.md +++ b/docs/05-technical/architecture/capability-target-cascade.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Capability Target Cascade -audience: [developer] +audience: human category: architecture -status: delivered +status: active related: [analysis-strategy, dashboard-layout, capability] last-reviewed: 2026-04-30 --- diff --git a/docs/05-technical/architecture/component-map.md b/docs/05-technical/architecture/component-map.md index 8fb02f405..7dc4a3961 100644 --- a/docs/05-technical/architecture/component-map.md +++ b/docs/05-technical/architecture/component-map.md @@ -1,10 +1,12 @@ --- +tier: living +purpose: system title: Component Map description: L3 component views per package — internal modules and their responsibilities journey-phase: [all] -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # Component Map diff --git a/docs/05-technical/architecture/component-patterns.md b/docs/05-technical/architecture/component-patterns.md index cb8744d4f..dd8a82759 100644 --- a/docs/05-technical/architecture/component-patterns.md +++ b/docs/05-technical/architecture/component-patterns.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Component Patterns -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [hooks, context-injection, color-scheme] --- diff --git a/docs/05-technical/architecture/coscout-prompt-architecture.md b/docs/05-technical/architecture/coscout-prompt-architecture.md index 28e96568b..99ab4057f 100644 --- a/docs/05-technical/architecture/coscout-prompt-architecture.md +++ b/docs/05-technical/architecture/coscout-prompt-architecture.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: CoScout Prompt Architecture -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [ai-context-engineering, ai-architecture, adr-060, adr-049] --- diff --git a/docs/05-technical/architecture/dashboard-layout.md b/docs/05-technical/architecture/dashboard-layout.md index 7652792b8..184525071 100644 --- a/docs/05-technical/architecture/dashboard-layout.md +++ b/docs/05-technical/architecture/dashboard-layout.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Dashboard Layout Architecture -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [dashboard, layout, css-grid, responsive, charts] --- diff --git a/docs/05-technical/architecture/data-flow.md b/docs/05-technical/architecture/data-flow.md index 68e44ae0e..e73fe7b14 100644 --- a/docs/05-technical/architecture/data-flow.md +++ b/docs/05-technical/architecture/data-flow.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Data Flow Architecture -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [context-api, filter-stack, stats-pipeline] --- diff --git a/docs/05-technical/architecture/data-pipeline-map.md b/docs/05-technical/architecture/data-pipeline-map.md index db066781d..36483c3f7 100644 --- a/docs/05-technical/architecture/data-pipeline-map.md +++ b/docs/05-technical/architecture/data-pipeline-map.md @@ -1,10 +1,12 @@ --- +tier: living +purpose: system title: Data Pipeline Map description: End-to-end data flow from CSV upload through statistics, charts, and AI — with TypeScript interfaces at every boundary journey-phase: [all] -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # Data Pipeline Map diff --git a/docs/05-technical/architecture/eu-ai-act-mapping.md b/docs/05-technical/architecture/eu-ai-act-mapping.md index bb794f79b..e32c17f27 100644 --- a/docs/05-technical/architecture/eu-ai-act-mapping.md +++ b/docs/05-technical/architecture/eu-ai-act-mapping.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: EU AI Act Classification & Mapping -audience: [compliance, engineer] +audience: human category: architecture -status: stable +status: active date: 2026-03-19 related: [ai, compliance, eu-ai-act, regulation] --- diff --git a/docs/05-technical/architecture/index.md b/docs/05-technical/architecture/index.md index de433fe06..e76917e83 100644 --- a/docs/05-technical/architecture/index.md +++ b/docs/05-technical/architecture/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Architecture Documentation -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [monorepo, offline-first, data-flow, ai-architecture] --- diff --git a/docs/05-technical/architecture/journey-phase-screen-mapping.md b/docs/05-technical/architecture/journey-phase-screen-mapping.md index 89eedb1fd..44286243f 100644 --- a/docs/05-technical/architecture/journey-phase-screen-mapping.md +++ b/docs/05-technical/architecture/journey-phase-screen-mapping.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Journey Phase → Screen Mapping -audience: [analyst, engineer] +audience: human category: architecture -status: stable +status: active related: [journey-phase, mental-model-hierarchy, analysis-journey-map] --- diff --git a/docs/05-technical/architecture/knowledge-model.md b/docs/05-technical/architecture/knowledge-model.md index 314d1b946..56fb32d35 100644 --- a/docs/05-technical/architecture/knowledge-model.md +++ b/docs/05-technical/architecture/knowledge-model.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Knowledge Model Architecture' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # Knowledge Model Architecture diff --git a/docs/05-technical/architecture/mental-model-hierarchy.md b/docs/05-technical/architecture/mental-model-hierarchy.md index 014770ff2..a89ba0b3e 100644 --- a/docs/05-technical/architecture/mental-model-hierarchy.md +++ b/docs/05-technical/architecture/mental-model-hierarchy.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Mental Model Hierarchy -audience: [developer, analyst] +audience: human category: architecture -status: stable +status: active related: [methodology, journey, investigation, ai, report] --- diff --git a/docs/05-technical/architecture/monorepo.md b/docs/05-technical/architecture/monorepo.md index 1213a66b9..8130a1eef 100644 --- a/docs/05-technical/architecture/monorepo.md +++ b/docs/05-technical/architecture/monorepo.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Monorepo Architecture' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # Monorepo Architecture diff --git a/docs/05-technical/architecture/offline-first.md b/docs/05-technical/architecture/offline-first.md index 7e978432f..29eb4cdc4 100644 --- a/docs/05-technical/architecture/offline-first.md +++ b/docs/05-technical/architecture/offline-first.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Offline-First Architecture -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [service-worker, indexeddb, cache-api] --- diff --git a/docs/05-technical/architecture/responsible-ai-policy.md b/docs/05-technical/architecture/responsible-ai-policy.md index 9f83c2939..9bc2e6d00 100644 --- a/docs/05-technical/architecture/responsible-ai-policy.md +++ b/docs/05-technical/architecture/responsible-ai-policy.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Responsible AI Policy -audience: [engineer, compliance] +audience: human category: architecture -status: stable +status: active date: 2026-03-19 related: [ai, safety, compliance, eu-ai-act, guardrails] --- diff --git a/docs/05-technical/architecture/shared-packages.md b/docs/05-technical/architecture/shared-packages.md index ffbd7ed27..8792cd6cb 100644 --- a/docs/05-technical/architecture/shared-packages.md +++ b/docs/05-technical/architecture/shared-packages.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Shared Packages' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # Shared Packages diff --git a/docs/05-technical/architecture/store-interactions.md b/docs/05-technical/architecture/store-interactions.md index bfe8c5a37..df1348ca5 100644 --- a/docs/05-technical/architecture/store-interactions.md +++ b/docs/05-technical/architecture/store-interactions.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Zustand Store Interaction Graph -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [zustand, feature-stores, adr-041, state-management] --- diff --git a/docs/05-technical/architecture/sub-path-exports.md b/docs/05-technical/architecture/sub-path-exports.md index c2ca35cd5..7421ae13c 100644 --- a/docs/05-technical/architecture/sub-path-exports.md +++ b/docs/05-technical/architecture/sub-path-exports.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Sub-Path Exports -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [core-package, tree-shaking, bounded-contexts] --- diff --git a/docs/05-technical/architecture/system-map.md b/docs/05-technical/architecture/system-map.md index 662b67dc2..5d91d829f 100644 --- a/docs/05-technical/architecture/system-map.md +++ b/docs/05-technical/architecture/system-map.md @@ -1,10 +1,12 @@ --- +tier: living +purpose: system title: System Map description: Visual architecture overview of VariScout's packages, apps, and external integrations journey-phase: [all] -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # System Map diff --git a/docs/05-technical/architecture/tier-gating.md b/docs/05-technical/architecture/tier-gating.md index 0751e7429..e1295f7ac 100644 --- a/docs/05-technical/architecture/tier-gating.md +++ b/docs/05-technical/architecture/tier-gating.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Tier & Plan Gating System -audience: [developer] +audience: human category: architecture -status: stable +status: active related: [pricing, marketplace, feature-flags] --- diff --git a/docs/05-technical/architecture/timeline-window-architecture.md b/docs/05-technical/architecture/timeline-window-architecture.md index 8ea5a57a1..600816b8b 100644 --- a/docs/05-technical/architecture/timeline-window-architecture.md +++ b/docs/05-technical/architecture/timeline-window-architecture.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Timeline Window & Multi-Level Routing Architecture -audience: [developer] +audience: human category: architecture -status: delivered +status: active related: [analysis-strategy, dashboard-layout, data-pipeline-map, mental-model-hierarchy] --- diff --git a/docs/05-technical/documentation-methodology.md b/docs/05-technical/documentation-methodology.md index 94eeac28a..5cc1f3e8d 100644 --- a/docs/05-technical/documentation-methodology.md +++ b/docs/05-technical/documentation-methodology.md @@ -1,10 +1,12 @@ --- +tier: living +purpose: system title: Documentation Methodology description: How VariScout's 100+ docs are organized — grounded in Diataxis, C4, Docs-as-Code, and the 4-phase analysis journey journey-phase: [all] -audience: [developer, architect] +audience: human category: reference -status: stable +status: active --- # Documentation Methodology diff --git a/docs/05-technical/implementation/azure-testing-plan.md b/docs/05-technical/implementation/azure-testing-plan.md index 76897aa30..7d52747f9 100644 --- a/docs/05-technical/implementation/azure-testing-plan.md +++ b/docs/05-technical/implementation/azure-testing-plan.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Azure App Testing Plan — rdmaic Organization' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Azure App Testing Plan — rdmaic Organization diff --git a/docs/05-technical/implementation/build-system.md b/docs/05-technical/implementation/build-system.md index cf1f6f0c6..ce53f4edf 100644 --- a/docs/05-technical/implementation/build-system.md +++ b/docs/05-technical/implementation/build-system.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Build System & CI/CD -audience: [developer] +audience: human category: implementation -status: stable +status: active related: [turbo, vite, github-actions, deployment] --- diff --git a/docs/05-technical/implementation/codex-only-ruflo-migration.md b/docs/05-technical/implementation/codex-only-ruflo-migration.md index 3870e7bc7..af64b301d 100644 --- a/docs/05-technical/implementation/codex-only-ruflo-migration.md +++ b/docs/05-technical/implementation/codex-only-ruflo-migration.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Codex-Only Ruflo Migration Guide -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Codex-Only Ruflo Migration Guide diff --git a/docs/05-technical/implementation/codex-ruflo-workflow.md b/docs/05-technical/implementation/codex-ruflo-workflow.md index a686ff59e..4e3ea7877 100644 --- a/docs/05-technical/implementation/codex-ruflo-workflow.md +++ b/docs/05-technical/implementation/codex-ruflo-workflow.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Codex + Ruflo Workflow' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Codex + Ruflo Workflow @@ -48,7 +50,7 @@ Codex does not receive the passive Claude hook guidance, so retrieval should be ### During Implementation - Use repo docs and package `CLAUDE.md` files for local context. -- Treat `.claude/rules/` and `.claude/skills/` as Claude-oriented assets. Do not add Ruflo or Claude Flow skills there. +- Treat `.claude/invariants/` and `.claude/skills/` as Claude-oriented assets. Do not add Ruflo or Claude Flow skills there. - Use standard repo commands for validation: `pnpm test`, `pnpm build`, and `bash scripts/pr-ready-check.sh`. - If you want Claude-like startup context, rely on `AGENTS.md` plus `pnpm codex:ruflo-check`; do not assume Claude hooks or statusline behavior exists in Codex. diff --git a/docs/05-technical/implementation/component-extraction-guide.md b/docs/05-technical/implementation/component-extraction-guide.md index bc7a8c8cc..8ba8907c2 100644 --- a/docs/05-technical/implementation/component-extraction-guide.md +++ b/docs/05-technical/implementation/component-extraction-guide.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Component Extraction Guide -audience: [developer] +audience: human category: implementation -status: stable +status: active related: [shared-packages, ui-package, colorScheme] --- diff --git a/docs/05-technical/implementation/data-input.md b/docs/05-technical/implementation/data-input.md index 561406645..7b2e14373 100644 --- a/docs/05-technical/implementation/data-input.md +++ b/docs/05-technical/implementation/data-input.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Data Input System' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Data Input System diff --git a/docs/05-technical/implementation/deployment.md b/docs/05-technical/implementation/deployment.md index 085e69561..efc00d81c 100644 --- a/docs/05-technical/implementation/deployment.md +++ b/docs/05-technical/implementation/deployment.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Deployment Guide' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Deployment Guide diff --git a/docs/05-technical/implementation/disaster-recovery.md b/docs/05-technical/implementation/disaster-recovery.md index 712423606..e28dde1ef 100644 --- a/docs/05-technical/implementation/disaster-recovery.md +++ b/docs/05-technical/implementation/disaster-recovery.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Disaster Recovery -audience: [developer, admin] +audience: human category: architecture -status: stable +status: active related: [deployment, azure, infrastructure] --- diff --git a/docs/05-technical/implementation/feature-module-guide.md b/docs/05-technical/implementation/feature-module-guide.md index 66b2e7e70..86a6af6b9 100644 --- a/docs/05-technical/implementation/feature-module-guide.md +++ b/docs/05-technical/implementation/feature-module-guide.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Feature Module Guide -audience: [developer] +audience: human category: implementation -status: stable +status: active related: [zustand, feature-sliced-design, adr-041, adr-045] --- diff --git a/docs/05-technical/implementation/index.md b/docs/05-technical/implementation/index.md index be142daac..880ad3120 100644 --- a/docs/05-technical/implementation/index.md +++ b/docs/05-technical/implementation/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Implementation -audience: [developer] +audience: human category: architecture -status: stable +status: active --- # Implementation diff --git a/docs/05-technical/implementation/ruflo-workflow.md b/docs/05-technical/implementation/ruflo-workflow.md index e76d65874..619af1f87 100644 --- a/docs/05-technical/implementation/ruflo-workflow.md +++ b/docs/05-technical/implementation/ruflo-workflow.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Ruflo Development Workflow' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Ruflo Development Workflow diff --git a/docs/05-technical/implementation/ruflo.md b/docs/05-technical/implementation/ruflo.md index 5dde10af8..8105deca6 100644 --- a/docs/05-technical/implementation/ruflo.md +++ b/docs/05-technical/implementation/ruflo.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Ruflo Development Tooling' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Ruflo Development Tooling diff --git a/docs/05-technical/implementation/security-scanning.md b/docs/05-technical/implementation/security-scanning.md index 5b44e7294..5c3eb8178 100644 --- a/docs/05-technical/implementation/security-scanning.md +++ b/docs/05-technical/implementation/security-scanning.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Security Scanning' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Security Scanning diff --git a/docs/05-technical/implementation/system-limits.md b/docs/05-technical/implementation/system-limits.md index f36265956..39febdca9 100644 --- a/docs/05-technical/implementation/system-limits.md +++ b/docs/05-technical/implementation/system-limits.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'System Limits' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # System Limits diff --git a/docs/05-technical/implementation/testing.md b/docs/05-technical/implementation/testing.md index 8e4822f5e..11896c1e8 100644 --- a/docs/05-technical/implementation/testing.md +++ b/docs/05-technical/implementation/testing.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Testing Strategy' -audience: [developer] +audience: human category: implementation -status: stable +status: active --- # Testing Strategy @@ -931,7 +933,7 @@ Validated as correctly scoped entry point. No action needed. ## Related Documentation -- `.claude/rules/testing.md` - Quick reference testing rules (in project root) +- `.claude/invariants/testing.md` - Quick reference testing invariants (in project root) --- diff --git a/docs/05-technical/index.md b/docs/05-technical/index.md index 428987727..883963372 100644 --- a/docs/05-technical/index.md +++ b/docs/05-technical/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Technical Documentation' -audience: [developer, architect] +audience: human category: reference -status: stable +status: active --- # Technical Documentation @@ -61,17 +63,18 @@ VARISCOUT ARCHITECTURE (Browser-Only) High-level architecture overview and detailed design documents: -| Document | Description | -| --------------------------------------------------------- | ----------------------------------------------------------- | -| [Architecture Overview](architecture.md) | High-level system architecture | -| [Monorepo Structure](architecture/monorepo.md) | pnpm workspaces, package boundaries | -| [Offline-First](architecture/offline-first.md) | PWA, service worker, IndexedDB | -| [Shared Packages](architecture/shared-packages.md) | Package extraction and reuse strategy | -| [Data Flow](architecture/data-flow.md) | Data pipeline from input to visualization | -| [Component Patterns](architecture/component-patterns.md) | Hook integration, colorScheme, base patterns | -| [AI Architecture](architecture/ai-architecture.md) | AI integration, Azure AI Foundry, context pipeline | -| [AIX Design System](architecture/aix-design-system.md) | AI experience governance: tone, trust, interaction patterns | -| [Documentation Methodology](documentation-methodology.md) | Diataxis, C4, Docs-as-Code, journey spine | +| Document | Description | +| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| [Architecture (auto-generated)](architecture-generated.md) | Workspace dep graph, sub-path export map, Tailwind @source coverage — generated by `pnpm docs:gen-arch` | +| [Architecture Overview](architecture.md) | High-level system architecture | +| [Monorepo Structure](architecture/monorepo.md) | pnpm workspaces, package boundaries | +| [Offline-First](architecture/offline-first.md) | PWA, service worker, IndexedDB | +| [Shared Packages](architecture/shared-packages.md) | Package extraction and reuse strategy | +| [Data Flow](architecture/data-flow.md) | Data pipeline from input to visualization | +| [Component Patterns](architecture/component-patterns.md) | Hook integration, colorScheme, base patterns | +| [AI Architecture](architecture/ai-architecture.md) | AI integration, Azure AI Foundry, context pipeline | +| [AIX Design System](architecture/aix-design-system.md) | AI experience governance: tone, trust, interaction patterns | +| [Documentation Methodology](documentation-methodology.md) | Diataxis, C4, Docs-as-Code, journey spine | ### Implementation diff --git a/docs/05-technical/integrations/embed-messaging.md b/docs/05-technical/integrations/embed-messaging.md index cb50ba408..6f38ca7aa 100644 --- a/docs/05-technical/integrations/embed-messaging.md +++ b/docs/05-technical/integrations/embed-messaging.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'PWA Embed Messaging Protocol' -audience: [developer, architect] +audience: human category: implementation -status: stable +status: active --- # PWA Embed Messaging Protocol diff --git a/docs/05-technical/integrations/index.md b/docs/05-technical/integrations/index.md index 5867ee32f..b6068776a 100644 --- a/docs/05-technical/integrations/index.md +++ b/docs/05-technical/integrations/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: Integrations -audience: [developer] +audience: human category: architecture -status: stable +status: active --- # Integrations diff --git a/docs/05-technical/integrations/shared-ui.md b/docs/05-technical/integrations/shared-ui.md index ee6cd03d9..49cb4879b 100644 --- a/docs/05-technical/integrations/shared-ui.md +++ b/docs/05-technical/integrations/shared-ui.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Shared UI Library Strategy' -audience: [developer, architect] +audience: human category: implementation -status: stable +status: active --- # Shared UI Library Strategy diff --git a/docs/05-technical/statistics-reference.md b/docs/05-technical/statistics-reference.md index 03698d671..0a0372042 100644 --- a/docs/05-technical/statistics-reference.md +++ b/docs/05-technical/statistics-reference.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: 'Statistics & Investigation Technical Reference' -audience: [developer, architect] +audience: human category: reference -status: stable +status: active --- # Statistics & Investigation Technical Reference diff --git a/docs/06-design-system/charts/boxplot.md b/docs/06-design-system/charts/boxplot.md index bf45b66ab..653a2ec6c 100644 --- a/docs/06-design-system/charts/boxplot.md +++ b/docs/06-design-system/charts/boxplot.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Boxplot Charts' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Boxplot Charts diff --git a/docs/06-design-system/charts/capability.md b/docs/06-design-system/charts/capability.md index d6e4a6601..6a041d686 100644 --- a/docs/06-design-system/charts/capability.md +++ b/docs/06-design-system/charts/capability.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Capability Histograms' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Capability Histograms diff --git a/docs/06-design-system/charts/chart-sizing-guide.md b/docs/06-design-system/charts/chart-sizing-guide.md index 9ab0536f7..8cf80778f 100644 --- a/docs/06-design-system/charts/chart-sizing-guide.md +++ b/docs/06-design-system/charts/chart-sizing-guide.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Chart Sizing Guide -audience: [developer] +audience: human category: reference -status: stable +status: active related: [charts, visx, responsive, layout] --- diff --git a/docs/06-design-system/charts/colors.md b/docs/06-design-system/charts/colors.md index 62cdf5982..1b6dbb533 100644 --- a/docs/06-design-system/charts/colors.md +++ b/docs/06-design-system/charts/colors.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Chart Colors' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Chart Colors diff --git a/docs/06-design-system/charts/hooks.md b/docs/06-design-system/charts/hooks.md index 0f74a2ae0..8b66033d9 100644 --- a/docs/06-design-system/charts/hooks.md +++ b/docs/06-design-system/charts/hooks.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Chart Hooks' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Chart Hooks diff --git a/docs/06-design-system/charts/ichart.md b/docs/06-design-system/charts/ichart.md index 751f11448..293b88579 100644 --- a/docs/06-design-system/charts/ichart.md +++ b/docs/06-design-system/charts/ichart.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Individual Control Charts (I-Chart)' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Individual Control Charts (I-Chart) diff --git a/docs/06-design-system/charts/index.md b/docs/06-design-system/charts/index.md index eb9d1ac58..1b3c8f59c 100644 --- a/docs/06-design-system/charts/index.md +++ b/docs/06-design-system/charts/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Chart Design -audience: [analyst, developer] +audience: human category: reference -status: stable +status: active --- # Chart Design diff --git a/docs/06-design-system/charts/overview.md b/docs/06-design-system/charts/overview.md index 1bdbe41e0..56cf9d8d8 100644 --- a/docs/06-design-system/charts/overview.md +++ b/docs/06-design-system/charts/overview.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Chart Styling Overview' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Chart Styling Overview diff --git a/docs/06-design-system/charts/pareto.md b/docs/06-design-system/charts/pareto.md index 5c41e2b43..66d73d69e 100644 --- a/docs/06-design-system/charts/pareto.md +++ b/docs/06-design-system/charts/pareto.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Pareto Charts' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Pareto Charts diff --git a/docs/06-design-system/charts/performance-mode.md b/docs/06-design-system/charts/performance-mode.md index 926b5e4c5..30d7af86c 100644 --- a/docs/06-design-system/charts/performance-mode.md +++ b/docs/06-design-system/charts/performance-mode.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Performance Mode Charts' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Performance Mode Charts diff --git a/docs/06-design-system/charts/probability-plot.md b/docs/06-design-system/charts/probability-plot.md index 91d165aed..6fce9dc95 100644 --- a/docs/06-design-system/charts/probability-plot.md +++ b/docs/06-design-system/charts/probability-plot.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Probability Plot' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Probability Plot diff --git a/docs/06-design-system/charts/responsive.md b/docs/06-design-system/charts/responsive.md index fc5d7671e..4cec81910 100644 --- a/docs/06-design-system/charts/responsive.md +++ b/docs/06-design-system/charts/responsive.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Responsive Charts' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Responsive Charts diff --git a/docs/06-design-system/charts/shared-components.md b/docs/06-design-system/charts/shared-components.md index 73d4fefc4..a99f99e88 100644 --- a/docs/06-design-system/charts/shared-components.md +++ b/docs/06-design-system/charts/shared-components.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Shared Chart Components' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # Shared Chart Components diff --git a/docs/06-design-system/components/ai-components.md b/docs/06-design-system/components/ai-components.md index e73d3bd46..810f3db47 100644 --- a/docs/06-design-system/components/ai-components.md +++ b/docs/06-design-system/components/ai-components.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'AI Components' -audience: [designer, developer] +audience: human category: components -status: stable +status: active --- # AI Components diff --git a/docs/06-design-system/components/findings.md b/docs/06-design-system/components/findings.md index 14a0416ca..df361badc 100644 --- a/docs/06-design-system/components/findings.md +++ b/docs/06-design-system/components/findings.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Findings' -audience: [designer, developer] +audience: human category: components -status: stable +status: active --- # Findings diff --git a/docs/06-design-system/components/foundational-patterns.md b/docs/06-design-system/components/foundational-patterns.md index 266b97b50..a6771bc39 100644 --- a/docs/06-design-system/components/foundational-patterns.md +++ b/docs/06-design-system/components/foundational-patterns.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Foundational UI Patterns' -audience: [designer, developer] +audience: human category: components -status: stable +status: active --- # Foundational UI Patterns diff --git a/docs/06-design-system/components/help-tooltip.md b/docs/06-design-system/components/help-tooltip.md index d0cfd8cab..a3f902761 100644 --- a/docs/06-design-system/components/help-tooltip.md +++ b/docs/06-design-system/components/help-tooltip.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Help Tooltips -audience: [analyst, engineer] +audience: human category: components -status: stable +status: active related: [glossary, contextual-help, onboarding] --- diff --git a/docs/06-design-system/components/index.md b/docs/06-design-system/components/index.md index 7fd23c984..72f02bd04 100644 --- a/docs/06-design-system/components/index.md +++ b/docs/06-design-system/components/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Components -audience: [developer] +audience: human category: reference -status: stable +status: active --- # Components diff --git a/docs/06-design-system/components/signal-branch-components.md b/docs/06-design-system/components/signal-branch-components.md index 011c5cb2c..d02e57101 100644 --- a/docs/06-design-system/components/signal-branch-components.md +++ b/docs/06-design-system/components/signal-branch-components.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: design title: Signal And Branch Components -audience: [designer, developer] +audience: human category: reference status: draft related: [signal-cards, mechanism-branches, investigation-workspace, coscout, accessibility] diff --git a/docs/06-design-system/components/variation-funnel.md b/docs/06-design-system/components/variation-funnel.md index 552aa9a2d..3fc6c9422 100644 --- a/docs/06-design-system/components/variation-funnel.md +++ b/docs/06-design-system/components/variation-funnel.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Variation Bar (Removed — ADR-062)' -audience: [designer, developer] +audience: human category: components -status: stable +status: active --- # Variation Bar (Removed) diff --git a/docs/06-design-system/components/what-if-simulator.md b/docs/06-design-system/components/what-if-simulator.md index c81d18754..ba495f9eb 100644 --- a/docs/06-design-system/components/what-if-simulator.md +++ b/docs/06-design-system/components/what-if-simulator.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'What-If Simulator' -audience: [designer, developer] +audience: human category: components -status: stable +status: active --- # What-If Simulator diff --git a/docs/06-design-system/foundations/accessibility.md b/docs/06-design-system/foundations/accessibility.md index 67c0810d3..722c3e4fb 100644 --- a/docs/06-design-system/foundations/accessibility.md +++ b/docs/06-design-system/foundations/accessibility.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Accessibility Guidelines' -audience: [designer, developer] +audience: human category: patterns -status: stable +status: active --- # Accessibility Guidelines diff --git a/docs/06-design-system/foundations/colors.md b/docs/06-design-system/foundations/colors.md index 18527588f..f47b2e4b6 100644 --- a/docs/06-design-system/foundations/colors.md +++ b/docs/06-design-system/foundations/colors.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Color System' -audience: [designer, developer] +audience: human category: patterns -status: stable +status: active --- # Color System diff --git a/docs/06-design-system/foundations/index.md b/docs/06-design-system/foundations/index.md index ce72a0c56..4dbe8f3d2 100644 --- a/docs/06-design-system/foundations/index.md +++ b/docs/06-design-system/foundations/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Foundations -audience: [developer] +audience: human category: reference -status: stable +status: active --- # Foundations diff --git a/docs/06-design-system/foundations/spacing.md b/docs/06-design-system/foundations/spacing.md index a463adacb..066533d86 100644 --- a/docs/06-design-system/foundations/spacing.md +++ b/docs/06-design-system/foundations/spacing.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Spacing' -audience: [designer, developer] +audience: human category: patterns -status: stable +status: active --- # Spacing diff --git a/docs/06-design-system/foundations/typography.md b/docs/06-design-system/foundations/typography.md index 1953d6fef..ab0771631 100644 --- a/docs/06-design-system/foundations/typography.md +++ b/docs/06-design-system/foundations/typography.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Typography' -audience: [designer, developer] +audience: human category: patterns -status: stable +status: active --- # Typography diff --git a/docs/06-design-system/index.md b/docs/06-design-system/index.md index 367a4f84c..41e757451 100644 --- a/docs/06-design-system/index.md +++ b/docs/06-design-system/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'VariScout Design System' -audience: [designer, developer] +audience: human category: reference -status: stable +status: active --- # VariScout Design System diff --git a/docs/06-design-system/patterns/analysis-dashboard.md b/docs/06-design-system/patterns/analysis-dashboard.md index 741fe1c49..0fac86912 100644 --- a/docs/06-design-system/patterns/analysis-dashboard.md +++ b/docs/06-design-system/patterns/analysis-dashboard.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Analysis Dashboard Pattern -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active related: [dashboard, boxplot, pareto, probability-plot, capability] --- diff --git a/docs/06-design-system/patterns/css-height-chain.md b/docs/06-design-system/patterns/css-height-chain.md index adb358308..5bb55bb0b 100644 --- a/docs/06-design-system/patterns/css-height-chain.md +++ b/docs/06-design-system/patterns/css-height-chain.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: CSS Height Chain Pattern -audience: [developer] +audience: human category: reference -status: stable +status: active related: [layout, flexbox, css-grid, dashboard] --- diff --git a/docs/06-design-system/patterns/dashboard-design.md b/docs/06-design-system/patterns/dashboard-design.md index 8407ff60d..d03b83539 100644 --- a/docs/06-design-system/patterns/dashboard-design.md +++ b/docs/06-design-system/patterns/dashboard-design.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Dashboard Design Principles -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active related: [analysis-dashboard, layout, dashboard, presentation-mode] --- diff --git a/docs/06-design-system/patterns/detection-modals.md b/docs/06-design-system/patterns/detection-modals.md index 4cc95f785..aaa8d9165 100644 --- a/docs/06-design-system/patterns/detection-modals.md +++ b/docs/06-design-system/patterns/detection-modals.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Detection Modals -audience: [developer] +audience: human category: reference -status: stable +status: active related: [modal, capability, performance, yamazumi, analysis-mode] --- diff --git a/docs/06-design-system/patterns/feedback.md b/docs/06-design-system/patterns/feedback.md index e0ee90013..9eaba6b90 100644 --- a/docs/06-design-system/patterns/feedback.md +++ b/docs/06-design-system/patterns/feedback.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Feedback Patterns' -audience: [designer, developer] +audience: human category: patterns -status: stable +status: active --- # Feedback Patterns diff --git a/docs/06-design-system/patterns/index.md b/docs/06-design-system/patterns/index.md index 36ec5848a..b72cc3127 100644 --- a/docs/06-design-system/patterns/index.md +++ b/docs/06-design-system/patterns/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Patterns -audience: [developer] +audience: human category: reference -status: stable +status: active --- # Patterns diff --git a/docs/06-design-system/patterns/interactions.md b/docs/06-design-system/patterns/interactions.md index 5e7702d5f..82f1f0a45 100644 --- a/docs/06-design-system/patterns/interactions.md +++ b/docs/06-design-system/patterns/interactions.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Interaction Patterns' -audience: [designer, developer] +audience: human category: patterns -status: stable +status: active --- # Interaction Patterns diff --git a/docs/06-design-system/patterns/investigation-workspaces.md b/docs/06-design-system/patterns/investigation-workspaces.md index de803eab4..a114e9fff 100644 --- a/docs/06-design-system/patterns/investigation-workspaces.md +++ b/docs/06-design-system/patterns/investigation-workspaces.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: design title: Investigation Workspace Pattern -audience: [designer, developer] +audience: human category: reference status: draft related: [investigation-wall, question-driven-eda, accessibility, ai-independent-ux, signal-cards] diff --git a/docs/06-design-system/patterns/layout.md b/docs/06-design-system/patterns/layout.md index f2784f163..1f4b9b177 100644 --- a/docs/06-design-system/patterns/layout.md +++ b/docs/06-design-system/patterns/layout.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Layout Patterns' -audience: [designer, developer] +audience: human category: patterns -status: stable +status: active --- # Layout Patterns diff --git a/docs/06-design-system/patterns/navigation.md b/docs/06-design-system/patterns/navigation.md index 17a67c08c..f0da0df74 100644 --- a/docs/06-design-system/patterns/navigation.md +++ b/docs/06-design-system/patterns/navigation.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Navigation Patterns -audience: [analyst, engineer] +audience: human category: patterns -status: stable +status: active related: [navigation, view-management, filter-chips, accessibility, z-index] --- diff --git a/docs/06-design-system/patterns/panels-and-drawers.md b/docs/06-design-system/patterns/panels-and-drawers.md index df1ac94e6..d6f0e68af 100644 --- a/docs/06-design-system/patterns/panels-and-drawers.md +++ b/docs/06-design-system/patterns/panels-and-drawers.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: 'Panels and Drawers' -audience: [designer, developer] +audience: human category: patterns -status: stable +status: active --- # Panels and Drawers diff --git a/docs/06-design-system/patterns/qde2-ui-view-contracts.md b/docs/06-design-system/patterns/qde2-ui-view-contracts.md index 66aa2568b..1215c422d 100644 --- a/docs/06-design-system/patterns/qde2-ui-view-contracts.md +++ b/docs/06-design-system/patterns/qde2-ui-view-contracts.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: design title: QDE 2.0 UI View Contracts -audience: [designer, developer, product] +audience: human category: reference status: draft related: diff --git a/docs/06-design-system/patterns/tooltip-positioning.md b/docs/06-design-system/patterns/tooltip-positioning.md index 50344cd55..f9aabaf4a 100644 --- a/docs/06-design-system/patterns/tooltip-positioning.md +++ b/docs/06-design-system/patterns/tooltip-positioning.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Tooltip Positioning -audience: [developer] +audience: human category: reference -status: stable +status: active related: [tooltip, viewport, positioning, help-tooltip] --- diff --git a/docs/07-decisions/adr-001-monorepo.md b/docs/07-decisions/adr-001-monorepo.md index 821b88b44..bbf274e92 100644 --- a/docs/07-decisions/adr-001-monorepo.md +++ b/docs/07-decisions/adr-001-monorepo.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-001: Monorepo with pnpm Workspaces' --- diff --git a/docs/07-decisions/adr-002-visx-charts.md b/docs/07-decisions/adr-002-visx-charts.md index 3fa459892..212ee0570 100644 --- a/docs/07-decisions/adr-002-visx-charts.md +++ b/docs/07-decisions/adr-002-visx-charts.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-002: Visx for Chart Components' --- diff --git a/docs/07-decisions/adr-003-indexeddb.md b/docs/07-decisions/adr-003-indexeddb.md index c656743bd..f186c863b 100644 --- a/docs/07-decisions/adr-003-indexeddb.md +++ b/docs/07-decisions/adr-003-indexeddb.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-003: IndexedDB for PWA Storage' --- diff --git a/docs/07-decisions/adr-004-offline-first.md b/docs/07-decisions/adr-004-offline-first.md index c3d3b2184..27f6f6563 100644 --- a/docs/07-decisions/adr-004-offline-first.md +++ b/docs/07-decisions/adr-004-offline-first.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-004: Offline-First Architecture' --- diff --git a/docs/07-decisions/adr-005-props-based-charts.md b/docs/07-decisions/adr-005-props-based-charts.md index a3facb318..3b48b1e91 100644 --- a/docs/07-decisions/adr-005-props-based-charts.md +++ b/docs/07-decisions/adr-005-props-based-charts.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-005: Props-Based Charts (vs Context)' --- diff --git a/docs/07-decisions/adr-007-azure-marketplace-distribution.md b/docs/07-decisions/adr-007-azure-marketplace-distribution.md index 91a1f44bd..2ea50569a 100644 --- a/docs/07-decisions/adr-007-azure-marketplace-distribution.md +++ b/docs/07-decisions/adr-007-azure-marketplace-distribution.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-007: Azure Marketplace Distribution Strategy' --- diff --git a/docs/07-decisions/adr-008-website-content-architecture.md b/docs/07-decisions/adr-008-website-content-architecture.md index b5fb3adf8..98d34724f 100644 --- a/docs/07-decisions/adr-008-website-content-architecture.md +++ b/docs/07-decisions/adr-008-website-content-architecture.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-008: Website Content Architecture' --- diff --git a/docs/07-decisions/adr-009-boxplot-violin-mode.md b/docs/07-decisions/adr-009-boxplot-violin-mode.md index 4a042d480..58da2834e 100644 --- a/docs/07-decisions/adr-009-boxplot-violin-mode.md +++ b/docs/07-decisions/adr-009-boxplot-violin-mode.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-009: Boxplot Violin Mode' --- diff --git a/docs/07-decisions/adr-010-gagerr-deferral.md b/docs/07-decisions/adr-010-gagerr-deferral.md index ba53a994b..64a871a65 100644 --- a/docs/07-decisions/adr-010-gagerr-deferral.md +++ b/docs/07-decisions/adr-010-gagerr-deferral.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-010: Defer Gage R&R from Azure App v1' --- diff --git a/docs/07-decisions/adr-011-ai-development-tooling.md b/docs/07-decisions/adr-011-ai-development-tooling.md index 6edb9392a..4503fdc47 100644 --- a/docs/07-decisions/adr-011-ai-development-tooling.md +++ b/docs/07-decisions/adr-011-ai-development-tooling.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-011: AI Development Tooling (ruflo)' --- diff --git a/docs/07-decisions/adr-012-pwa-browser-only.md b/docs/07-decisions/adr-012-pwa-browser-only.md index 4db5c360a..ddbee58df 100644 --- a/docs/07-decisions/adr-012-pwa-browser-only.md +++ b/docs/07-decisions/adr-012-pwa-browser-only.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-012: PWA Browser-Only, Zero Data Collection' --- diff --git a/docs/07-decisions/adr-013-architecture-evaluation-ddd-swarms.md b/docs/07-decisions/adr-013-architecture-evaluation-ddd-swarms.md index bad15ea33..ea984f944 100644 --- a/docs/07-decisions/adr-013-architecture-evaluation-ddd-swarms.md +++ b/docs/07-decisions/adr-013-architecture-evaluation-ddd-swarms.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-013: Architecture Evaluation — DDD and AI Swarms' --- diff --git a/docs/07-decisions/adr-014-regression-deferral.md b/docs/07-decisions/adr-014-regression-deferral.md index 07bc65b62..48201c854 100644 --- a/docs/07-decisions/adr-014-regression-deferral.md +++ b/docs/07-decisions/adr-014-regression-deferral.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-014: Defer Regression to Phase 2' --- diff --git a/docs/07-decisions/adr-015-investigation-board.md b/docs/07-decisions/adr-015-investigation-board.md index 6afcdfcd7..fecf3e122 100644 --- a/docs/07-decisions/adr-015-investigation-board.md +++ b/docs/07-decisions/adr-015-investigation-board.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-015: Investigation Board — Finding Status & Comments' --- diff --git a/docs/07-decisions/adr-017-fluent-design-alignment.md b/docs/07-decisions/adr-017-fluent-design-alignment.md index d795055dc..c3fd601cf 100644 --- a/docs/07-decisions/adr-017-fluent-design-alignment.md +++ b/docs/07-decisions/adr-017-fluent-design-alignment.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-017: Fluent 2 Design Principle Alignment' --- diff --git a/docs/07-decisions/adr-019-ai-integration.md b/docs/07-decisions/adr-019-ai-integration.md index ac87c674d..5a3a42a3d 100644 --- a/docs/07-decisions/adr-019-ai-integration.md +++ b/docs/07-decisions/adr-019-ai-integration.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-019: AI Integration (Azure App)' --- diff --git a/docs/07-decisions/adr-020-investigation-workflow.md b/docs/07-decisions/adr-020-investigation-workflow.md index 7cc9e0dcd..3af078d08 100644 --- a/docs/07-decisions/adr-020-investigation-workflow.md +++ b/docs/07-decisions/adr-020-investigation-workflow.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-020: Investigation Workflow Enhancement' --- diff --git a/docs/07-decisions/adr-023-data-lifecycle.md b/docs/07-decisions/adr-023-data-lifecycle.md index 693570cb4..aed82fef1 100644 --- a/docs/07-decisions/adr-023-data-lifecycle.md +++ b/docs/07-decisions/adr-023-data-lifecycle.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: "ADR-023: Verification Experience — Data Lifecycle, Staged Comparison, and the 'Did It Work?' Interaction" -audience: [analyst, engineer] +audience: human category: architecture -status: accepted +status: active date: 2026-03-16 related: [staged-analysis, findings, investigation-workflow, ai-context] --- diff --git a/docs/07-decisions/adr-025-internationalization.md b/docs/07-decisions/adr-025-internationalization.md index e1a273797..637b3ed4c 100644 --- a/docs/07-decisions/adr-025-internationalization.md +++ b/docs/07-decisions/adr-025-internationalization.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-025: Internationalization Architecture' --- diff --git a/docs/07-decisions/adr-027-ai-collaborator-evolution.md b/docs/07-decisions/adr-027-ai-collaborator-evolution.md index f63e25a70..f65c707d4 100644 --- a/docs/07-decisions/adr-027-ai-collaborator-evolution.md +++ b/docs/07-decisions/adr-027-ai-collaborator-evolution.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-027: AI Collaborator Evolution' --- diff --git a/docs/07-decisions/adr-028-responses-api-migration.md b/docs/07-decisions/adr-028-responses-api-migration.md index bb44a159f..00521af39 100644 --- a/docs/07-decisions/adr-028-responses-api-migration.md +++ b/docs/07-decisions/adr-028-responses-api-migration.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-028: Responses API Migration' --- diff --git a/docs/07-decisions/adr-029-ai-action-tools.md b/docs/07-decisions/adr-029-ai-action-tools.md index b9255e257..7871cb68b 100644 --- a/docs/07-decisions/adr-029-ai-action-tools.md +++ b/docs/07-decisions/adr-029-ai-action-tools.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-029: AI Action Tools for CoScout' --- diff --git a/docs/07-decisions/adr-031-report-export.md b/docs/07-decisions/adr-031-report-export.md index 24b1119af..4ba59cf67 100644 --- a/docs/07-decisions/adr-031-report-export.md +++ b/docs/07-decisions/adr-031-report-export.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-031: Report Export — Print/PDF for All Azure Plans' -audience: [analyst, engineer] +audience: human category: architecture -status: accepted +status: active date: 2026-03-19 related: [report-view, export, pdf, print, scouting-report] --- diff --git a/docs/07-decisions/adr-032-evidence-communication.md b/docs/07-decisions/adr-032-evidence-communication.md index d353e5e23..c6cf0f8c4 100644 --- a/docs/07-decisions/adr-032-evidence-communication.md +++ b/docs/07-decisions/adr-032-evidence-communication.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: decide title: 'ADR-032: Evidence-Based Statistical Communication' -status: accepted +status: active date: 2026-03-19 --- diff --git a/docs/07-decisions/adr-033-pricing-simplification.md b/docs/07-decisions/adr-033-pricing-simplification.md index e4f8f3f96..57074d2bc 100644 --- a/docs/07-decisions/adr-033-pricing-simplification.md +++ b/docs/07-decisions/adr-033-pricing-simplification.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-033: Pricing Simplification' --- diff --git a/docs/07-decisions/adr-034-yamazumi-analysis-mode.md b/docs/07-decisions/adr-034-yamazumi-analysis-mode.md index 30409a2f6..49d264f62 100644 --- a/docs/07-decisions/adr-034-yamazumi-analysis-mode.md +++ b/docs/07-decisions/adr-034-yamazumi-analysis-mode.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-034: Yamazumi Analysis Mode' --- diff --git a/docs/07-decisions/adr-035-improvement-prioritization.md b/docs/07-decisions/adr-035-improvement-prioritization.md index c1d42868a..4f3ea6484 100644 --- a/docs/07-decisions/adr-035-improvement-prioritization.md +++ b/docs/07-decisions/adr-035-improvement-prioritization.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-035: Improvement Prioritization Model' --- diff --git a/docs/07-decisions/adr-036-no-russian-language.md b/docs/07-decisions/adr-036-no-russian-language.md index be2d60768..0b65fe917 100644 --- a/docs/07-decisions/adr-036-no-russian-language.md +++ b/docs/07-decisions/adr-036-no-russian-language.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-036: No Russian Language Support' --- @@ -36,6 +38,7 @@ English, following the standard `detectLocale()` fallback chain. > **VariScout does not support the Russian language.** This applies to: + - UI localization (message catalogs, translated strings) - Browser language auto-detection - Number/date formatting via `Intl` APIs diff --git a/docs/07-decisions/adr-037-reporting-workspaces.md b/docs/07-decisions/adr-037-reporting-workspaces.md index 6ac20b558..e7b510e91 100644 --- a/docs/07-decisions/adr-037-reporting-workspaces.md +++ b/docs/07-decisions/adr-037-reporting-workspaces.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-037: Reporting Workspaces' -audience: [analyst, engineer] +audience: human category: architecture -status: accepted +status: active date: 2026-03-20 related: [report-view, workspace, audience-toggle, qc-story] --- diff --git a/docs/07-decisions/adr-038-subgroup-capability.md b/docs/07-decisions/adr-038-subgroup-capability.md index bd65b50a2..122fba01f 100644 --- a/docs/07-decisions/adr-038-subgroup-capability.md +++ b/docs/07-decisions/adr-038-subgroup-capability.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: decide title: 'ADR-038: Subgroup Capability Analysis (Cp/Cpk per Subgroup)' -status: accepted +status: active date: 2026-03-21 --- diff --git a/docs/07-decisions/adr-039-mobile-performance-architecture.md b/docs/07-decisions/adr-039-mobile-performance-architecture.md index 9d8a688ec..c0749f8d8 100644 --- a/docs/07-decisions/adr-039-mobile-performance-architecture.md +++ b/docs/07-decisions/adr-039-mobile-performance-architecture.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-039: Mobile Performance & Async Computation Architecture' --- diff --git a/docs/07-decisions/adr-040-bicep-migration.md b/docs/07-decisions/adr-040-bicep-migration.md index 3276b88ae..d4019034f 100644 --- a/docs/07-decisions/adr-040-bicep-migration.md +++ b/docs/07-decisions/adr-040-bicep-migration.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-040: Migrate Infrastructure from ARM JSON to Bicep' --- diff --git a/docs/07-decisions/adr-041-zustand-feature-stores.md b/docs/07-decisions/adr-041-zustand-feature-stores.md index 777129b03..4a23e4c4f 100644 --- a/docs/07-decisions/adr-041-zustand-feature-stores.md +++ b/docs/07-decisions/adr-041-zustand-feature-stores.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-041: Zustand Feature Stores' --- diff --git a/docs/07-decisions/adr-042-project-dashboard.md b/docs/07-decisions/adr-042-project-dashboard.md index 647cb74de..cc520b494 100644 --- a/docs/07-decisions/adr-042-project-dashboard.md +++ b/docs/07-decisions/adr-042-project-dashboard.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-042: Project Dashboard' --- diff --git a/docs/07-decisions/adr-044-architectural-review.md b/docs/07-decisions/adr-044-architectural-review.md index a86e7c35d..89384e09e 100644 --- a/docs/07-decisions/adr-044-architectural-review.md +++ b/docs/07-decisions/adr-044-architectural-review.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: decide title: 'ADR-044: Architectural Review (March 2026)' -status: accepted +status: active date: 2026-03-23 --- diff --git a/docs/07-decisions/adr-045-modular-architecture.md b/docs/07-decisions/adr-045-modular-architecture.md index 8c02a85e7..4a7af097a 100644 --- a/docs/07-decisions/adr-045-modular-architecture.md +++ b/docs/07-decisions/adr-045-modular-architecture.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-045: Modular Architecture — DDD-Lite with Feature-Sliced Design' --- diff --git a/docs/07-decisions/adr-046-event-driven-architecture.md b/docs/07-decisions/adr-046-event-driven-architecture.md index 07c96537f..8055c540c 100644 --- a/docs/07-decisions/adr-046-event-driven-architecture.md +++ b/docs/07-decisions/adr-046-event-driven-architecture.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-046: Event-Driven Architecture — mitt Event Bus' --- diff --git a/docs/07-decisions/adr-047-analysis-mode-strategy.md b/docs/07-decisions/adr-047-analysis-mode-strategy.md index c131dfeb5..fca6678e3 100644 --- a/docs/07-decisions/adr-047-analysis-mode-strategy.md +++ b/docs/07-decisions/adr-047-analysis-mode-strategy.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-047: Analysis Mode Strategy Pattern' --- diff --git a/docs/07-decisions/adr-048-eslint-boundaries.md b/docs/07-decisions/adr-048-eslint-boundaries.md index 469258043..8f9a1fb16 100644 --- a/docs/07-decisions/adr-048-eslint-boundaries.md +++ b/docs/07-decisions/adr-048-eslint-boundaries.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-048: ESLint Boundary Enforcement' --- diff --git a/docs/07-decisions/adr-049-coscout-context-and-memory.md b/docs/07-decisions/adr-049-coscout-context-and-memory.md index 08319bf71..c3f0173ec 100644 --- a/docs/07-decisions/adr-049-coscout-context-and-memory.md +++ b/docs/07-decisions/adr-049-coscout-context-and-memory.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-049: CoScout Knowledge Catalyst — Visual Context & Active Insight Capture' --- diff --git a/docs/07-decisions/adr-050-wide-form-stack-columns.md b/docs/07-decisions/adr-050-wide-form-stack-columns.md index d1ab6345c..f6bfcc3bd 100644 --- a/docs/07-decisions/adr-050-wide-form-stack-columns.md +++ b/docs/07-decisions/adr-050-wide-form-stack-columns.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-050: Wide-Form Data Support — Stack Columns' --- diff --git a/docs/07-decisions/adr-051-chart-many-categories.md b/docs/07-decisions/adr-051-chart-many-categories.md index 86537c166..933fa7f1b 100644 --- a/docs/07-decisions/adr-051-chart-many-categories.md +++ b/docs/07-decisions/adr-051-chart-many-categories.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-051: Chart Handling for Many Categories' --- diff --git a/docs/07-decisions/adr-052-factor-intelligence.md b/docs/07-decisions/adr-052-factor-intelligence.md index b65bd2c00..acbe1d676 100644 --- a/docs/07-decisions/adr-052-factor-intelligence.md +++ b/docs/07-decisions/adr-052-factor-intelligence.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-052: Factor Intelligence — Progressive Factor Analysis' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active related: [statistics, factor-analysis, best-subsets, strategy-pattern] --- diff --git a/docs/07-decisions/adr-053-question-driven-investigation.md b/docs/07-decisions/adr-053-question-driven-investigation.md index 90f3110ef..6169f73db 100644 --- a/docs/07-decisions/adr-053-question-driven-investigation.md +++ b/docs/07-decisions/adr-053-question-driven-investigation.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-053: Question-Driven Investigation' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active related: [investigation, eda-mental-model, factor-intelligence, question-driven-eda] --- diff --git a/docs/07-decisions/adr-054-mode-aware-question-strategy.md b/docs/07-decisions/adr-054-mode-aware-question-strategy.md index 8fd844bc5..451eb3c5b 100644 --- a/docs/07-decisions/adr-054-mode-aware-question-strategy.md +++ b/docs/07-decisions/adr-054-mode-aware-question-strategy.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-054: Mode-Aware Question Strategy' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active related: [question-driven-eda, factor-intelligence, strategy-pattern, yamazumi, capability] --- diff --git a/docs/07-decisions/adr-055-workspace-navigation.md b/docs/07-decisions/adr-055-workspace-navigation.md index b03a035b9..464df975a 100644 --- a/docs/07-decisions/adr-055-workspace-navigation.md +++ b/docs/07-decisions/adr-055-workspace-navigation.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-055: Workspace-Based Navigation' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active related: [navigation, workspaces, investigation, panels, question-driven-eda] --- diff --git a/docs/07-decisions/adr-056-pi-panel-redesign.md b/docs/07-decisions/adr-056-pi-panel-redesign.md index b9d94b5a1..1d805418a 100644 --- a/docs/07-decisions/adr-056-pi-panel-redesign.md +++ b/docs/07-decisions/adr-056-pi-panel-redesign.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-056: Process Intelligence Panel Redesign' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active related: [pi-panel, questions, journal, investigation, findings, stats-panel] --- diff --git a/docs/07-decisions/adr-057-coscout-visual-grounding.md b/docs/07-decisions/adr-057-coscout-visual-grounding.md index 421786b05..ccd403727 100644 --- a/docs/07-decisions/adr-057-coscout-visual-grounding.md +++ b/docs/07-decisions/adr-057-coscout-visual-grounding.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-057: CoScout Visual Grounding' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # ADR-057: CoScout Visual Grounding diff --git a/docs/07-decisions/adr-058-deployment-lifecycle.md b/docs/07-decisions/adr-058-deployment-lifecycle.md index 9beab52f8..bd9469a5c 100644 --- a/docs/07-decisions/adr-058-deployment-lifecycle.md +++ b/docs/07-decisions/adr-058-deployment-lifecycle.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-058: Deployment Lifecycle & Self-Service Update System' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # ADR-058: Deployment Lifecycle & Self-Service Update System diff --git a/docs/07-decisions/adr-059-web-first-deployment-architecture.md b/docs/07-decisions/adr-059-web-first-deployment-architecture.md index 6df12bdbd..c6cf6e5ad 100644 --- a/docs/07-decisions/adr-059-web-first-deployment-architecture.md +++ b/docs/07-decisions/adr-059-web-first-deployment-architecture.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-059: Web-First Deployment Architecture' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active --- # ADR-059: Web-First Deployment Architecture diff --git a/docs/07-decisions/adr-060-coscout-intelligence-architecture.md b/docs/07-decisions/adr-060-coscout-intelligence-architecture.md index 8f9259c8d..5d03ca24c 100644 --- a/docs/07-decisions/adr-060-coscout-intelligence-architecture.md +++ b/docs/07-decisions/adr-060-coscout-intelligence-architecture.md @@ -1,12 +1,17 @@ --- +tier: living +purpose: decide title: 'ADR-060: CoScout Intelligence Architecture' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active +related: [coscout-ax-design] --- # ADR-060: CoScout Intelligence Architecture +> See canonical AX design at [coscout-ax-design](../01-vision/coscout-ax-design.md) for the consolidated persona, tier-gating, safety, and prompt engineering overview. This ADR is the decision provenance and engineering detail for the five-pillar knowledge architecture. + **Status:** Accepted **Date:** 2026-04-02 **Supersedes:** ADR-022 (Knowledge Layer Architecture), ADR-026 (Knowledge Base — SharePoint-First) diff --git a/docs/07-decisions/adr-061-hmw-brainstorm-ideation.md b/docs/07-decisions/adr-061-hmw-brainstorm-ideation.md index c9949ba39..11f225771 100644 --- a/docs/07-decisions/adr-061-hmw-brainstorm-ideation.md +++ b/docs/07-decisions/adr-061-hmw-brainstorm-ideation.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-061: HMW Brainstorm & Collaborative Ideation' --- diff --git a/docs/07-decisions/adr-062-standard-anova-metrics.md b/docs/07-decisions/adr-062-standard-anova-metrics.md index 37ba1e24c..1c4e7a795 100644 --- a/docs/07-decisions/adr-062-standard-anova-metrics.md +++ b/docs/07-decisions/adr-062-standard-anova-metrics.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-062: Standard ANOVA Metrics & Category Total SS Removal' -audience: [developer, architect] +audience: human category: architecture -status: stable +status: active related: [anova, factor-intelligence, question-driven-investigation, variation-decomposition, eta-squared] --- diff --git a/docs/07-decisions/adr-063-trust-compliance-roadmap.md b/docs/07-decisions/adr-063-trust-compliance-roadmap.md index a2ba3e226..14b863909 100644 --- a/docs/07-decisions/adr-063-trust-compliance-roadmap.md +++ b/docs/07-decisions/adr-063-trust-compliance-roadmap.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-063: Trust & Compliance Roadmap' -audience: [business, architect] +audience: human category: compliance -status: accepted +status: active --- # ADR-063: Trust & Compliance Roadmap diff --git a/docs/07-decisions/adr-065-evidence-map-causal-graph.md b/docs/07-decisions/adr-065-evidence-map-causal-graph.md index 496414a02..edd0c7c1f 100644 --- a/docs/07-decisions/adr-065-evidence-map-causal-graph.md +++ b/docs/07-decisions/adr-065-evidence-map-causal-graph.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-065: Evidence Map & Causal Graph Visualization' --- diff --git a/docs/07-decisions/adr-066-evidence-map-investigation-center.md b/docs/07-decisions/adr-066-evidence-map-investigation-center.md index 87367de8c..c46fcdca4 100644 --- a/docs/07-decisions/adr-066-evidence-map-investigation-center.md +++ b/docs/07-decisions/adr-066-evidence-map-investigation-center.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-066: Evidence Map as Investigation Workspace Center' --- diff --git a/docs/07-decisions/adr-067-unified-glm-regression.md b/docs/07-decisions/adr-067-unified-glm-regression.md index cae511c4d..9fc9f5e5f 100644 --- a/docs/07-decisions/adr-067-unified-glm-regression.md +++ b/docs/07-decisions/adr-067-unified-glm-regression.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: decide title: 'ADR-067: Unified GLM Regression Engine' -status: accepted +status: active date: 2026-04-05 --- diff --git a/docs/07-decisions/adr-068-coscout-cognitive-redesign.md b/docs/07-decisions/adr-068-coscout-cognitive-redesign.md index 97f4c149e..eb6edfd09 100644 --- a/docs/07-decisions/adr-068-coscout-cognitive-redesign.md +++ b/docs/07-decisions/adr-068-coscout-cognitive-redesign.md @@ -1,13 +1,17 @@ --- +tier: living +purpose: decide title: 'ADR-068: CoScout Cognitive Redesign' -audience: [engineer] +audience: human category: architecture -status: stable -related: [coscout, ai-integration, prompt-caching, tiered-prompts] +status: active +related: [coscout, ai-integration, prompt-caching, tiered-prompts, coscout-ax-design] --- # ADR-068: CoScout Cognitive Redesign +> See canonical AX design at [coscout-ax-design](../01-vision/coscout-ax-design.md) for the consolidated persona, tier-gating, safety, and prompt engineering overview. This ADR is the decision provenance for the modular prompt architecture, tier model, and phase-adaptive assembly. + **Status:** Accepted **Date:** 2026-04-05 **Supersedes:** Accumulated prompt additions from ADR-019, 029, 047, 049, 053, 054, 060, 064, 065, 067 diff --git a/docs/07-decisions/adr-069-three-boundary-numeric-safety.md b/docs/07-decisions/adr-069-three-boundary-numeric-safety.md index 0d4122ae9..741a8d88d 100644 --- a/docs/07-decisions/adr-069-three-boundary-numeric-safety.md +++ b/docs/07-decisions/adr-069-three-boundary-numeric-safety.md @@ -1,13 +1,17 @@ --- +tier: living +purpose: decide title: 'ADR-069: Three-Boundary Numeric Safety' -audience: [engineer] +audience: human category: architecture -status: stable -related: [stats-engine, numerical-safety, nan-defense, safe-math] +status: active +related: [stats-engine, numerical-safety, nan-defense, safe-math, coscout-ax-design] --- # ADR-069: Three-Boundary Numeric Safety +> See canonical AX design at [coscout-ax-design](../01-vision/coscout-ax-design.md) for the consolidated CoScout safety overview including REF marker constraints. This ADR is the decision provenance for the B1/B2/B3 numeric safety architecture and `safeMath.ts`. + **Status:** Accepted **Date:** 2026-04-06 diff --git a/docs/07-decisions/adr-070-frame-workspace.md b/docs/07-decisions/adr-070-frame-workspace.md index 9fd6449a1..819a77f7c 100644 --- a/docs/07-decisions/adr-070-frame-workspace.md +++ b/docs/07-decisions/adr-070-frame-workspace.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-070: FRAME Workspace, Visual Process Map & Deterministic Mode Inference' -audience: [engineer] +audience: human category: architecture -status: stable +status: active related: [ frame-workspace, diff --git a/docs/07-decisions/adr-071-coscout-voice-input.md b/docs/07-decisions/adr-071-coscout-voice-input.md index a63a72786..de1169d4f 100644 --- a/docs/07-decisions/adr-071-coscout-voice-input.md +++ b/docs/07-decisions/adr-071-coscout-voice-input.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-071: CoScout Voice Input' --- diff --git a/docs/07-decisions/adr-072-process-hub-storage-and-coscout-context.md b/docs/07-decisions/adr-072-process-hub-storage-and-coscout-context.md index cfbff033f..20a2719a3 100644 --- a/docs/07-decisions/adr-072-process-hub-storage-and-coscout-context.md +++ b/docs/07-decisions/adr-072-process-hub-storage-and-coscout-context.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: decide title: 'ADR-072: Process Hub Storage and CoScout Context Boundary' -status: accepted +status: active date: 2026-04-26 --- diff --git a/docs/07-decisions/adr-073-no-statistical-rollup-across-heterogeneous-units.md b/docs/07-decisions/adr-073-no-statistical-rollup-across-heterogeneous-units.md index 649dce683..d0b44f310 100644 --- a/docs/07-decisions/adr-073-no-statistical-rollup-across-heterogeneous-units.md +++ b/docs/07-decisions/adr-073-no-statistical-rollup-across-heterogeneous-units.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: decide title: 'ADR-073: No Statistical Roll-Up Across Heterogeneous Units' -status: accepted +status: active date: 2026-04-29 --- diff --git a/docs/07-decisions/adr-074-scout-level-spanning-surface-boundary-policy.md b/docs/07-decisions/adr-074-scout-level-spanning-surface-boundary-policy.md index 5131a6868..e5eadd4ba 100644 --- a/docs/07-decisions/adr-074-scout-level-spanning-surface-boundary-policy.md +++ b/docs/07-decisions/adr-074-scout-level-spanning-surface-boundary-policy.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-074: SCOUT level-spanning surface — boundary policy' -audience: [product, designer, engineer, analyst] +audience: human category: architecture -status: accepted +status: active date: 2026-04-29 related: - adr-073-no-statistical-rollup-across-heterogeneous-units diff --git a/docs/07-decisions/adr-075-pwa-atomic-deploy-and-update-policy.md b/docs/07-decisions/adr-075-pwa-atomic-deploy-and-update-policy.md index ab0217b9e..36a1df493 100644 --- a/docs/07-decisions/adr-075-pwa-atomic-deploy-and-update-policy.md +++ b/docs/07-decisions/adr-075-pwa-atomic-deploy-and-update-policy.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-075: PWA atomic deploy + update policy' -audience: [developer, architect] +audience: human category: architecture -status: accepted +status: active date: 2026-05-02 related: - adr-058-deployment-lifecycle diff --git a/docs/07-decisions/adr-076-frame-b0-lightweight-render.md b/docs/07-decisions/adr-076-frame-b0-lightweight-render.md index f4d7f5322..59cf0ec08 100644 --- a/docs/07-decisions/adr-076-frame-b0-lightweight-render.md +++ b/docs/07-decisions/adr-076-frame-b0-lightweight-render.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: decide title: 'ADR-076: FRAME b0 lightweight render — investigator vs author archetypes' -audience: [product, designer, engineer, analyst] +audience: human category: architecture status: superseded superseded-by: docs/superpowers/specs/2026-05-04-canvas-migration-design.md diff --git a/docs/07-decisions/adr-077-snapshot-provenance-and-match-summary-wedge.md b/docs/07-decisions/adr-077-snapshot-provenance-and-match-summary-wedge.md index d2c7d7b3e..a2b02b8a3 100644 --- a/docs/07-decisions/adr-077-snapshot-provenance-and-match-summary-wedge.md +++ b/docs/07-decisions/adr-077-snapshot-provenance-and-match-summary-wedge.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-077: Snapshot-level provenance + match-summary wedge for paste-into-existing-Hub' -audience: [product, designer, engineer, analyst] +audience: human category: architecture -status: accepted +status: active date: 2026-05-04 related: - adr-073-no-statistical-rollup-across-heterogeneous-units diff --git a/docs/07-decisions/adr-078-pwa-azure-architecture-alignment.md b/docs/07-decisions/adr-078-pwa-azure-architecture-alignment.md index 5ac17da35..c2afac176 100644 --- a/docs/07-decisions/adr-078-pwa-azure-architecture-alignment.md +++ b/docs/07-decisions/adr-078-pwa-azure-architecture-alignment.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-078: PWA + Azure architecture alignment — same product, gated tiers' -audience: [product, designer, engineer] +audience: human category: architecture -status: accepted +status: active date: 2026-05-05 related: - adr-012-pwa-browser-only diff --git a/docs/07-decisions/adr-079-etag-optimistic-concurrency-paid-tier-hub-writes.md b/docs/07-decisions/adr-079-etag-optimistic-concurrency-paid-tier-hub-writes.md index 9a9704114..1925a86ce 100644 --- a/docs/07-decisions/adr-079-etag-optimistic-concurrency-paid-tier-hub-writes.md +++ b/docs/07-decisions/adr-079-etag-optimistic-concurrency-paid-tier-hub-writes.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-079: ETag optimistic concurrency for paid-tier hub-blob writes' -audience: [product, designer, engineer] +audience: human category: architecture -status: accepted +status: active date: 2026-05-07 related: - adr-058-deployment-lifecycle diff --git a/docs/07-decisions/adr-080-sustainment-auto-fire-pattern.md b/docs/07-decisions/adr-080-sustainment-auto-fire-pattern.md index a7d43ff60..bb935743e 100644 --- a/docs/07-decisions/adr-080-sustainment-auto-fire-pattern.md +++ b/docs/07-decisions/adr-080-sustainment-auto-fire-pattern.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-080: Sustainment auto-fire + Inbox prompt + signoff-gated lifecycle pattern' -audience: [product, designer, engineer] +audience: human category: architecture -status: accepted +status: active date: 2026-05-13 related: - adr-064-suspected-cause-hub-model diff --git a/docs/07-decisions/adr-081-canvas-viewport-architecture.md b/docs/07-decisions/adr-081-canvas-viewport-architecture.md index 028f3be01..181ea2b94 100644 --- a/docs/07-decisions/adr-081-canvas-viewport-architecture.md +++ b/docs/07-decisions/adr-081-canvas-viewport-architecture.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: decide title: 'ADR-081: Canvas viewport architecture — levels-as-pan/zoom (8f)' -audience: [product, designer, engineer, analyst] +audience: human category: architecture -status: accepted +status: active date: 2026-05-13 related: - adr-068-coscout-cognitive-redesign diff --git a/docs/07-decisions/adr-082-wedge-architecture.md b/docs/07-decisions/adr-082-wedge-architecture.md index 5d85db816..34f863704 100644 --- a/docs/07-decisions/adr-082-wedge-architecture.md +++ b/docs/07-decisions/adr-082-wedge-architecture.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'ADR-082: Wedge architecture — single-product VariScout' --- diff --git a/docs/07-decisions/adr-083-eight-purpose-doc-taxonomy.md b/docs/07-decisions/adr-083-eight-purpose-doc-taxonomy.md new file mode 100644 index 000000000..07001910c --- /dev/null +++ b/docs/07-decisions/adr-083-eight-purpose-doc-taxonomy.md @@ -0,0 +1,171 @@ +--- +title: 'ADR-083: Eight-purpose doc taxonomy + four-tier velocity' +status: active +date: 2026-05-16 +purpose: decide +tier: living +audience: both +topic: [docs-strategy, schema, meta] +related: [2026-05-16-docs-strategy-design, 2026-05-16-docs-strategy-memo] +--- + +# ADR-083: Eight-purpose doc taxonomy + four-tier velocity + +**Status:** Accepted +**Date:** 2026-05-16 +**Related:** [Docs Strategy Design](../superpowers/specs/2026-05-16-docs-strategy-design.md), [Docs Strategy Memo](../superpowers/specs/2026-05-16-docs-strategy-memo.md) + +## Context + +VariScout's frontmatter schema has accumulated 22 STATUS values, 18 CATEGORY values, and 14 AUDIENCE values across ~521 markdown files. The schema was built incrementally and now exhibits two failure modes simultaneously: + +1. **Over-discipline at the metadata layer** — 22 STATUS enums create aspirational distinctions (`review`, `living`, `raw`, `template`) that are never consistently applied and require constant maintenance. Most docs cycle between `draft → active → superseded` in practice. + +2. **Under-discipline at the lifecycle layer** — no freshness signal (`last-verified`), no implementation-drift sensor (`verified-against-commit`), no velocity-tier to drive maintenance cadence, no purpose field to route retrieval by function. + +The result: expensive enum schemas that don't prevent drift, while the fields that would detect drift are absent. + +An audit of 487 active docs (521 files total, 34 supporting README/index hubs) revealed: + +- Design + Decide dominate living-tier docs (51% + 25% = 76%) +- **Agent-context is critically under-engineered at 4% of living docs** — the AX-dev surface that reads on every subagent dispatch +- 17 emergent topic tags emerge naturally; formal CATEGORY enum enforces a 2024 ontology instead + +Additionally, industry documentation frameworks (Diátaxis, Google's engineering-practices) are human-reader-centric and pre-LLM-era. VariScout needs a taxonomy covering both human readers AND the AX-dev surface (subagents) that now constitutes half its documentation system. + +## Decision + +Replace the existing three-enum metadata schema with a two-axis schema: **8 purposes × 4 tiers**, with free-form topic tags and collapsed enums. + +### The new schema + +```yaml +# Core two-axis classification +purpose: orient | decide | design | build | system | constrain | agent-context | remember +tier: stable | living | ephemeral | card + +# Collapsed enums +status: draft | active | superseded | archived # was 22 values +audience: human | agent | both # was 14 values +topic: [] # replaces CATEGORY enum; free-form + +# New operational fields +last-verified: YYYY-MM-DD # drift sensor +verified-against-commit: # drift sensor +supersedes: [] # supersession chain +related: [] # cross-reference graph +``` + +### The 8 purposes + +| Purpose | Reader intent | Failure mode | +| ----------------- | ------------------------------------------ | --------------------------------------- | +| **orient** | "What is VariScout? Why? For whom?" | Stale narrative misleads | +| **decide** | "What did we conclude?" | Re-litigation; lost provenance | +| **design** | "What is/should the product be?" | Spec ↔ implementation drift | +| **build** | "How do I implement this _here_?" | Agent uses outdated procedure | +| **system** | "How is the system architected?" | Diagrams describe old architecture | +| **constrain** | "What must I never do?" | Constraint ignored; not enforced | +| **agent-context** | "I'm an agent — what do I need right now?" | Context bloat; wrong information loaded | +| **remember** | "How did we get here? Why was X decided?" | Lost institutional knowledge | + +### The 4 tiers + +| Tier | Volatility | Maintenance | +| ------------- | --------------------------------------- | -------------------------------- | +| **stable** | Years-stable | Quarterly human review | +| **living** | Months-stable, amend-not-rewrite | Steward-loop drift checks weekly | +| **ephemeral** | Days-to-weeks, lifecycle = until-merged | Auto-archive on close | +| **card** | Atomic, append-only | Continuous (Steward + telemetry) | + +### STATUS alias map (transitional) + +Old values that no longer exist in the canonical enum, mapped to their replacements: + +| Old value | → New value | Rationale | +| ------------- | ------------ | -------------------------------------------------- | +| `accepted` | `active` | ADR language; active is the general term | +| `in-progress` | `active` | Work-in-progress is still active | +| `delivered` | `active` | Delivered spec is still the active reference | +| `reference` | `active` | Reference docs are active by definition | +| `template` | `active` | Templates are active infrastructure | +| `review` | `draft` | Under review = still a draft | +| `design` | `draft` | Design phase = draft | +| `raw` | `draft` | Raw = draft | +| `stable` | `active` | Stable was a STATUS; now tier=stable captures this | +| `living` | `active` | Living was a STATUS; now tier=living captures this | +| `deferred` | `superseded` | Deferred work is effectively superseded | + +### AUDIENCE alias map (transitional) + +| Old value | → New value | +| ----------------- | ----------- | +| `developer` | `human` | +| `engineer` | `human` | +| `analyst` | `human` | +| `business` | `human` | +| `architect` | `human` | +| `admin` | `human` | +| `designer` | `human` | +| `product` | `human` | +| `manager` | `human` | +| `compliance` | `human` | +| `procurement` | `human` | +| `infosec` | `human` | +| `quality-manager` | `human` | +| `auditor` | `human` | + +All current AUDIENCE values map to `human`; `agent` and `both` are new explicit values for the AX-dev surface. + +### CATEGORY replacement + +CATEGORY enum is removed entirely. Free-form `topic` tags replace it. Dominant tags from the audit: + +``` +adr, stats, charts, ux, projects, investigation, canvas, ax, coscout, +methodology, azure, capability, response-paths, stores, marketplace, i18n, tier-gating +``` + +Any kebab-case value is valid. The enumeration emerges from usage rather than being prescribed upfront. + +## Migration + +**Play 1 transition cycle** (this PR): + +1. `scripts/docs-frontmatter-schema.mjs` — add `PURPOSE` + `TIER` enums, collapse STATUS to 4 + add alias map, add AUDIENCE alias map, remove CATEGORY enum, add new optional fields. +2. `scripts/check-doc-frontmatter.mjs` — warn (not fail) when old STATUS/CATEGORY/AUDIENCE values appear via alias map; hard-fail on unknown PURPOSE/TIER when present; report missing `purpose`+`tier` counts. +3. `scripts/docs-frontmatter-fix.mjs` — backfill `purpose`+`tier` via path heuristics; map old STATUS/AUDIENCE via alias maps. +4. All docs `git mv`'d to new tier-based folder hierarchy. + +**Back-compatibility**: Old STATUS/AUDIENCE values warn but pass during the transition cycle (one release). After Play 2 completes, warnings become failures. + +**Folder restructure**: `docs/` moves from 11 numbered folders to `stable/`, `living//`, `ephemeral/`, `cards/`, `archive/`. Git history preserved via `git mv`. + +## Consequences + +**Positive**: + +- Adding a doc is cheaper: 2 required fields (`title`, `purpose`) instead of 4 (`title`, `audience`, `category`, `status`). +- Drift is now detectable: `last-verified` + `verified-against-commit` enable the Steward loop (Play 2e). +- Topic tags evolve with the product; enum doesn't lock 2024 ontology. +- Agent-context gap becomes measurable (cohort report, Play 5). +- AX-dev surface explicitly represented via `purpose: agent-context`. + +**Negative**: + +- Short-term migration friction on 521 files (mitigated by `docs-frontmatter-fix.mjs` automation). +- Free-form topic tags require human discipline; no enum enforcement (mitigated by 17-tag vocabulary guidance). +- `classify()` function in schema needs updating for new folder paths. + +**Neutral**: + +- ADR shape is preserved; ADRs just gain optional `purpose: decide` + `tier: living` fields. +- Validation tooling (`scripts/check-doc-frontmatter.mjs`) is extended, not replaced. + +## Related artifacts + +- [2026-05-16-docs-strategy-design.md](../superpowers/specs/2026-05-16-docs-strategy-design.md) — full strategy spec +- [2026-05-16-docs-strategy-memo.md](../superpowers/specs/2026-05-16-docs-strategy-memo.md) — CTO memo +- `scripts/docs-frontmatter-schema.mjs` — schema SSOT (updated in Play 1) +- `scripts/check-doc-frontmatter.mjs` — validation (updated in Play 1) +- `scripts/docs-frontmatter-fix.mjs` — backfill automation (updated in Play 1) diff --git a/docs/07-decisions/audit-2026-02-state-of-product.md b/docs/07-decisions/audit-2026-02-state-of-product.md index e91e78dc8..3b3bcc886 100644 --- a/docs/07-decisions/audit-2026-02-state-of-product.md +++ b/docs/07-decisions/audit-2026-02-state-of-product.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'State-of-the-Product Audit — February 2026' --- diff --git a/docs/07-decisions/index.md b/docs/07-decisions/index.md index 1aaab08b3..ad7394668 100644 --- a/docs/07-decisions/index.md +++ b/docs/07-decisions/index.md @@ -1,4 +1,6 @@ --- +tier: living +purpose: decide title: 'Architecture Decision Records' --- diff --git a/docs/08-products/azure/ai-safety-report.md b/docs/08-products/azure/ai-safety-report.md index 685f89d8b..faa51b0d9 100644 --- a/docs/08-products/azure/ai-safety-report.md +++ b/docs/08-products/azure/ai-safety-report.md @@ -1,9 +1,11 @@ --- +tier: stable +purpose: orient title: AI Safety Report — CoScout category: compliance -status: template +status: active date: 2026-03-17 -audience: [admin, architect] +audience: human --- # AI Safety Report — CoScout diff --git a/docs/08-products/azure/arm-template.md b/docs/08-products/azure/arm-template.md index d2050e932..cd1c5ed46 100644 --- a/docs/08-products/azure/arm-template.md +++ b/docs/08-products/azure/arm-template.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'ARM Template Documentation' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # ARM Template Documentation diff --git a/docs/08-products/azure/authentication.md b/docs/08-products/azure/authentication.md index a59423dc2..1ab6fe582 100644 --- a/docs/08-products/azure/authentication.md +++ b/docs/08-products/azure/authentication.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Authentication (EasyAuth)' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # Authentication (EasyAuth) diff --git a/docs/08-products/azure/blob-storage-sync.md b/docs/08-products/azure/blob-storage-sync.md index bcb68c58d..82178628a 100644 --- a/docs/08-products/azure/blob-storage-sync.md +++ b/docs/08-products/azure/blob-storage-sync.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Blob Storage Sync' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # Blob Storage Sync diff --git a/docs/08-products/azure/certification-guide.md b/docs/08-products/azure/certification-guide.md index 68c5f8ef1..7003bb031 100644 --- a/docs/08-products/azure/certification-guide.md +++ b/docs/08-products/azure/certification-guide.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Azure Marketplace Certification Guide' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # Azure Marketplace Certification Guide diff --git a/docs/08-products/azure/how-it-works.md b/docs/08-products/azure/how-it-works.md index b834c7138..732df3051 100644 --- a/docs/08-products/azure/how-it-works.md +++ b/docs/08-products/azure/how-it-works.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'How It Works' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # How It Works diff --git a/docs/08-products/azure/index.md b/docs/08-products/azure/index.md index 2108aa2e2..ea47e66d7 100644 --- a/docs/08-products/azure/index.md +++ b/docs/08-products/azure/index.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Azure App (Primary Product)' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # Azure App (Primary Product) diff --git a/docs/08-products/azure/marketplace-readiness-report.md b/docs/08-products/azure/marketplace-readiness-report.md index 9489fcd8a..54912e9f6 100644 --- a/docs/08-products/azure/marketplace-readiness-report.md +++ b/docs/08-products/azure/marketplace-readiness-report.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: Marketplace Readiness Report date: 2026-03-25 -status: in-progress -audience: [admin, architect] +status: active +audience: human category: reference --- diff --git a/docs/08-products/azure/marketplace.md b/docs/08-products/azure/marketplace.md index 6515fd5e1..2bb918bec 100644 --- a/docs/08-products/azure/marketplace.md +++ b/docs/08-products/azure/marketplace.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Azure Marketplace Guide' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # Azure Marketplace Guide diff --git a/docs/08-products/azure/pricing-tiers.md b/docs/08-products/azure/pricing-tiers.md index fa174e1b3..a1e1a2242 100644 --- a/docs/08-products/azure/pricing-tiers.md +++ b/docs/08-products/azure/pricing-tiers.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Pricing' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # Pricing diff --git a/docs/08-products/azure/security-whitepaper.md b/docs/08-products/azure/security-whitepaper.md index 59ca5bb34..0d2a3eebd 100644 --- a/docs/08-products/azure/security-whitepaper.md +++ b/docs/08-products/azure/security-whitepaper.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Security Whitepaper' -audience: [procurement, infosec] +audience: human category: compliance -status: stable +status: active date: 2026-04-03 --- diff --git a/docs/08-products/azure/storage.md b/docs/08-products/azure/storage.md index ac9c2d579..8c5d44d73 100644 --- a/docs/08-products/azure/storage.md +++ b/docs/08-products/azure/storage.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Azure App Storage' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # Azure App Storage diff --git a/docs/08-products/azure/submission-checklist.md b/docs/08-products/azure/submission-checklist.md index e36d4dcd4..bc4356c65 100644 --- a/docs/08-products/azure/submission-checklist.md +++ b/docs/08-products/azure/submission-checklist.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Azure Marketplace Submission Checklist' -audience: [admin, architect] +audience: human category: reference -status: stable +status: active --- # Azure Marketplace Submission Checklist diff --git a/docs/08-products/feature-parity.md b/docs/08-products/feature-parity.md index 09060dc97..7d3be1fd8 100644 --- a/docs/08-products/feature-parity.md +++ b/docs/08-products/feature-parity.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Feature Parity Matrix' -audience: [business, product] +audience: human category: strategy -status: stable +status: active last-reviewed: 2026-05-16 related: [tiers, wedge, pricing, modes] --- diff --git a/docs/08-products/index.md b/docs/08-products/index.md index 8ae390ec4..fe644b0fd 100644 --- a/docs/08-products/index.md +++ b/docs/08-products/index.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Products' -audience: [business, product] +audience: human category: strategy -status: stable +status: active --- > **⚠️ Queued for wedge rewrite (2026-05-16)** — see [wedge spec](../superpowers/specs/2026-05-16-wedge-architecture-design.md) + [ADR-082](../07-decisions/adr-082-wedge-architecture.md) for V1 canonical anatomy. tier/product summary collapses to PWA + €99 single SKU; VariScout Process noted as future product. This doc has a wedge-marker header only; full content rewrite is queued for Phase C.3 batch 4 (subagent-driven). diff --git a/docs/08-products/iso-9001-alignment.md b/docs/08-products/iso-9001-alignment.md index fa7740b9b..a3c7e4757 100644 --- a/docs/08-products/iso-9001-alignment.md +++ b/docs/08-products/iso-9001-alignment.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'ISO 9001:2026 Alignment Guide' -audience: [quality-manager, auditor] +audience: human category: compliance -status: stable +status: active date: 2026-04-03 --- diff --git a/docs/08-products/presentations/variscout-product-evaluation-narrative-plan.md b/docs/08-products/presentations/variscout-product-evaluation-narrative-plan.md index ef1a4c926..cbd2952c3 100644 --- a/docs/08-products/presentations/variscout-product-evaluation-narrative-plan.md +++ b/docs/08-products/presentations/variscout-product-evaluation-narrative-plan.md @@ -1,6 +1,8 @@ --- +tier: stable +purpose: orient title: VariScout Product Evaluation Deck Narrative Plan -audience: [product, manager, analyst] +audience: human category: strategy status: draft date: 2026-04-27 diff --git a/docs/08-products/pwa/index.md b/docs/08-products/pwa/index.md index 7f1311d00..ec4dbcd22 100644 --- a/docs/08-products/pwa/index.md +++ b/docs/08-products/pwa/index.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'PWA (Free Training Tool)' -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active --- # PWA (Free Training Tool) diff --git a/docs/08-products/tier-philosophy.md b/docs/08-products/tier-philosophy.md index 1d5dc46a8..dadc8d489 100644 --- a/docs/08-products/tier-philosophy.md +++ b/docs/08-products/tier-philosophy.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: Tier Philosophy -audience: [analyst, engineer] +audience: human category: reference -status: stable +status: active related: [pricing, tiers, feature-gating, value-ladder] --- diff --git a/docs/08-products/website/content-architecture.md b/docs/08-products/website/content-architecture.md index f129675d0..81e630ae1 100644 --- a/docs/08-products/website/content-architecture.md +++ b/docs/08-products/website/content-architecture.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Website Content Architecture' -audience: [business, designer] +audience: human category: strategy -status: stable +status: active --- # Website Content Architecture diff --git a/docs/08-products/website/design-philosophy.md b/docs/08-products/website/design-philosophy.md index b9a3d49f0..459de7c48 100644 --- a/docs/08-products/website/design-philosophy.md +++ b/docs/08-products/website/design-philosophy.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Website Design Philosophy' -audience: [business, designer] +audience: human category: strategy -status: stable +status: active --- # Website Design Philosophy diff --git a/docs/08-products/website/index.md b/docs/08-products/website/index.md index 40426a4f2..009378cd1 100644 --- a/docs/08-products/website/index.md +++ b/docs/08-products/website/index.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: 'Marketing Website' -audience: [business, designer] +audience: human category: strategy -status: stable +status: active --- # Marketing Website diff --git a/docs/09-baseline/2026-04-17-agent-docs-baseline.md b/docs/09-baseline/2026-04-17-agent-docs-baseline.md index ac7c2ba9b..08df46592 100644 --- a/docs/09-baseline/2026-04-17-agent-docs-baseline.md +++ b/docs/09-baseline/2026-04-17-agent-docs-baseline.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: remember title: Agent Docs Architecture Baseline (Pre-Phase 1) -audience: [engineer] +audience: human category: reference -status: reference +status: active last-reviewed: 2026-04-17 related: [claude-md, skills, migration, measurement] --- diff --git a/docs/09-baseline/2026-04-17-doc-audit.md b/docs/09-baseline/2026-04-17-doc-audit.md index b48da59ae..077e5f461 100644 --- a/docs/09-baseline/2026-04-17-doc-audit.md +++ b/docs/09-baseline/2026-04-17-doc-audit.md @@ -1,6 +1,8 @@ --- +tier: stable +purpose: remember title: 'Doc Prune — Load-Bearing Audit Output' -audience: [engineer, architect] +audience: human category: architecture status: draft related: [doc-prune-audit, agent-docs-architecture] diff --git a/docs/09-tutorials/index.md b/docs/09-tutorials/index.md index 1ab8a57b8..effa5610e 100644 --- a/docs/09-tutorials/index.md +++ b/docs/09-tutorials/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Tutorials -audience: [analyst, engineer] +audience: human category: tutorial -status: deferred +status: superseded related: [getting-started, learning, case-studies] --- diff --git a/docs/10-development/discussions/2026-03-29-factor-intelligence-design.md b/docs/10-development/discussions/2026-03-29-factor-intelligence-design.md index 36b5361b2..9eb76fcf1 100644 --- a/docs/10-development/discussions/2026-03-29-factor-intelligence-design.md +++ b/docs/10-development/discussions/2026-03-29-factor-intelligence-design.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: build title: 'Factor Intelligence Design Discussion' -audience: [developer, product] +audience: human category: reference status: draft --- diff --git a/docs/10-development/discussions/2026-03-29-probability-plot-analysis.md b/docs/10-development/discussions/2026-03-29-probability-plot-analysis.md index 9b4a0286a..63f5726bc 100644 --- a/docs/10-development/discussions/2026-03-29-probability-plot-analysis.md +++ b/docs/10-development/discussions/2026-03-29-probability-plot-analysis.md @@ -1,10 +1,12 @@ --- +tier: living +purpose: build title: Probability Plot — Multi-Angle Analysis date: 2026-03-29 sources: - 2026-03-29-probability-plot.txt - 2026-03-29-probability-plot-and-commenting.txt -audience: [developer, product] +audience: human category: reference status: draft --- diff --git a/docs/10-development/feature-backlog.md b/docs/10-development/feature-backlog.md index 294925ed4..703fda7d7 100644 --- a/docs/10-development/feature-backlog.md +++ b/docs/10-development/feature-backlog.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: build title: Feature Backlog -audience: [developer, product] +audience: human category: reference status: draft --- diff --git a/docs/10-development/index.md b/docs/10-development/index.md index 02c25c845..43117efdf 100644 --- a/docs/10-development/index.md +++ b/docs/10-development/index.md @@ -1,6 +1,8 @@ --- +tier: living +purpose: build title: Development -audience: [developer, product] +audience: human category: reference status: draft --- diff --git a/docs/10-development/project-status-audit-2026-04-16.md b/docs/10-development/project-status-audit-2026-04-16.md index f9e2e19ce..a417bad29 100644 --- a/docs/10-development/project-status-audit-2026-04-16.md +++ b/docs/10-development/project-status-audit-2026-04-16.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: build title: 'Project Status Audit — 2026-04-16' -audience: [engineer, developer] +audience: human category: reference -status: stable +status: active related: [audit, state-of-product, adr, specs, feature-parity] --- diff --git a/docs/10-development/transcripts/best-subset-regression-approach.md b/docs/10-development/transcripts/best-subset-regression-approach.md index 429283786..c34d6af90 100644 --- a/docs/10-development/transcripts/best-subset-regression-approach.md +++ b/docs/10-development/transcripts/best-subset-regression-approach.md @@ -1,11 +1,13 @@ --- +tier: living +purpose: build title: Best Subset Regression Approach type: transcript language: fi date: 2026-04-05 duration: 199.7s -status: raw -audience: [developer, product] +status: draft +audience: human category: reference --- diff --git a/docs/10-development/transcripts/dataset-analysis-discussion.md b/docs/10-development/transcripts/dataset-analysis-discussion.md index 1a7350a43..6fa036882 100644 --- a/docs/10-development/transcripts/dataset-analysis-discussion.md +++ b/docs/10-development/transcripts/dataset-analysis-discussion.md @@ -1,11 +1,13 @@ --- +tier: living +purpose: build title: Dataset Analysis Discussion type: transcript language: en date: 2026-03-29 duration: 239.9s -status: raw -audience: [developer, product] +status: draft +audience: human category: reference --- diff --git a/docs/10-development/transcripts/index.md b/docs/10-development/transcripts/index.md index cf5346ae7..a1396f072 100644 --- a/docs/10-development/transcripts/index.md +++ b/docs/10-development/transcripts/index.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: build title: Transcripts & Expert Interviews -audience: [developer, product] +audience: human category: reference -status: raw +status: draft --- # Transcripts & Expert Interviews diff --git a/docs/10-development/transcripts/mbb-investigation-spine-validation.md b/docs/10-development/transcripts/mbb-investigation-spine-validation.md index 7eaa01cb8..9ca9657a6 100644 --- a/docs/10-development/transcripts/mbb-investigation-spine-validation.md +++ b/docs/10-development/transcripts/mbb-investigation-spine-validation.md @@ -1,10 +1,12 @@ --- +tier: living +purpose: build title: MBB Investigation Spine Validation type: interview language: en date: 2026-03-29 -status: delivered -audience: [developer, product] +status: active +audience: human category: reference --- diff --git a/docs/10-development/transcripts/probability-plot-in-analysis-flow.md b/docs/10-development/transcripts/probability-plot-in-analysis-flow.md index bddc1aec3..e63b389d4 100644 --- a/docs/10-development/transcripts/probability-plot-in-analysis-flow.md +++ b/docs/10-development/transcripts/probability-plot-in-analysis-flow.md @@ -1,11 +1,13 @@ --- +tier: living +purpose: build title: Probability Plot in Analysis Flow type: transcript language: en date: 2026-04-05 duration: 359.2s -status: raw -audience: [developer, product] +status: draft +audience: human category: reference --- diff --git a/docs/10-development/transcripts/projects-at-hp.md b/docs/10-development/transcripts/projects-at-hp.md index 8ab5f94f0..ee9894cb6 100644 --- a/docs/10-development/transcripts/projects-at-hp.md +++ b/docs/10-development/transcripts/projects-at-hp.md @@ -1,11 +1,13 @@ --- +tier: living +purpose: build title: Projects at HP type: transcript language: en date: 2026-04-05 duration: 1905.8s -status: raw -audience: [developer, product] +status: draft +audience: human category: reference --- diff --git a/docs/DATA-FLOW.md b/docs/DATA-FLOW.md index b20c6eed6..b927774bc 100644 --- a/docs/DATA-FLOW.md +++ b/docs/DATA-FLOW.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: system title: VariScout Data Lifecycle -audience: [engineer] +audience: human category: architecture -status: stable +status: active last-reviewed: 2026-04-24 related: [data-flow, persistence, sync, customer-owned, blob-storage, indexeddb, easyauth] --- diff --git a/docs/OVERVIEW.md b/docs/OVERVIEW.md index 16ae15728..d5829de18 100644 --- a/docs/OVERVIEW.md +++ b/docs/OVERVIEW.md @@ -1,8 +1,10 @@ --- +tier: stable +purpose: orient title: VariScout — What It Does In Practice -audience: [engineer, analyst] +audience: human category: reference -status: stable +status: active last-reviewed: 2026-05-16 related: [product-overview, modes, tiers, coscout, journey, wedge] --- @@ -20,16 +22,7 @@ Canonical V1 design lives in the [wedge architecture spec](superpowers/specs/202 ## The journey model -Every investigation — whether quick or project-anchored — follows one methodological spine: - -**FRAME → SCOUT → INVESTIGATE → IMPROVE** - -- **FRAME.** State the problem (data-first or hypothesis-first entry). CoScout helps articulate. -- **SCOUT.** Data is parsed and characterized. Four Lenses of variation emerge (central tendency, spread, pattern, distribution). -- **INVESTIGATE.** Pick suspected causes — data-derived, gemba-observed, or expert-supplied — and examine each with the Evidence Map, statistics, and targeted questions. The Investigation Wall accumulates Findings linked to Hypotheses; Measurement Plans capture what evidence still needs collection (hypothesis-first path). -- **IMPROVE.** Hypotheses converge on improvement actions. Inside a Project this becomes the Improve stage (action tracker), then Sustainment ("did it work? + close"). - -The spine never changes. Analysis modes vary the tools used inside each phase. +Every investigation — quick or project-anchored — follows one methodological spine: **FRAME → SCOUT → INVESTIGATE → IMPROVE** (state the problem; characterize the data with the Four Lenses; examine suspected causes via the Investigation Wall; converge on actions and verify in Sustainment). The spine never changes; analysis modes vary the tools inside each phase — see [USER-JOURNEYS.md](USER-JOURNEYS.md) for the detailed walk-through per mode and [methodology.md](01-vision/methodology.md) for the pedagogical narrative. ## Project — the optional formal wrapper diff --git a/docs/USER-JOURNEYS-CAPABILITY.md b/docs/USER-JOURNEYS-CAPABILITY.md index b1d101d16..2f8e29795 100644 --- a/docs/USER-JOURNEYS-CAPABILITY.md +++ b/docs/USER-JOURNEYS-CAPABILITY.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Capability Mode — User Journey -audience: [engineer, analyst] +audience: human category: reference -status: stable +status: active last-reviewed: 2026-05-16 related: [capability, journey, cpk, spc, subgroup, wedge] --- diff --git a/docs/USER-JOURNEYS-DEFECT.md b/docs/USER-JOURNEYS-DEFECT.md index 642d4d715..7271d30ea 100644 --- a/docs/USER-JOURNEYS-DEFECT.md +++ b/docs/USER-JOURNEYS-DEFECT.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Defect Analysis Mode — User Journey -audience: [engineer, analyst] +audience: human category: reference -status: stable +status: active last-reviewed: 2026-05-16 related: [defect, journey, ppm, event-rates, copq, wedge] --- diff --git a/docs/USER-JOURNEYS-PERFORMANCE.md b/docs/USER-JOURNEYS-PERFORMANCE.md index c3dc59ff7..cb3fc85e5 100644 --- a/docs/USER-JOURNEYS-PERFORMANCE.md +++ b/docs/USER-JOURNEYS-PERFORMANCE.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Performance Mode — User Journey -audience: [engineer, analyst] +audience: human category: reference -status: stable +status: active last-reviewed: 2026-05-16 related: [performance, journey, multi-channel, cpk, drill-down, wedge] --- diff --git a/docs/USER-JOURNEYS-PROCESS-FLOW.md b/docs/USER-JOURNEYS-PROCESS-FLOW.md index 13ea98cea..8d612370d 100644 --- a/docs/USER-JOURNEYS-PROCESS-FLOW.md +++ b/docs/USER-JOURNEYS-PROCESS-FLOW.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Process Flow Mode — User Journey -audience: [engineer, analyst] +audience: human category: reference -status: design +status: draft last-reviewed: 2026-05-16 related: [process-flow, journey, bottleneck, design-only, wedge] --- diff --git a/docs/USER-JOURNEYS-YAMAZUMI.md b/docs/USER-JOURNEYS-YAMAZUMI.md index 38e132e39..3cc7b05a2 100644 --- a/docs/USER-JOURNEYS-YAMAZUMI.md +++ b/docs/USER-JOURNEYS-YAMAZUMI.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: Yamazumi Mode — User Journey -audience: [engineer, analyst] +audience: human category: reference -status: stable +status: active last-reviewed: 2026-05-16 related: [yamazumi, journey, lean, cycle-time, takt, wedge] --- diff --git a/docs/USER-JOURNEYS.md b/docs/USER-JOURNEYS.md index 371ff054b..8e67fa830 100644 --- a/docs/USER-JOURNEYS.md +++ b/docs/USER-JOURNEYS.md @@ -1,8 +1,10 @@ --- +tier: living +purpose: design title: VariScout User Journeys — V1 Single-Persona Spine -audience: [engineer, analyst] +audience: human category: reference -status: stable +status: active last-reviewed: 2026-05-16 related: [personas, flows, journey, modes, wedge] --- diff --git a/docs/agent-context/doc-discipline.md b/docs/agent-context/doc-discipline.md new file mode 100644 index 000000000..ad2b6b923 --- /dev/null +++ b/docs/agent-context/doc-discipline.md @@ -0,0 +1,265 @@ +--- +title: 'Doc Discipline — SSoT by Doc Type' +purpose: agent-context +tier: living +audience: agent +topic: [ax, discipline, governance] +status: active +last-verified: 2026-05-17 +related: [adr-083-eight-purpose-doc-taxonomy, 2026-05-16-docs-strategy-design] +--- + +# Doc Discipline — Single Source of Truth by Doc Type + +> Loaded by the `agent-context-quickstart` skill. **Read before editing ANY canonical doc.** +> Full design rationale: [`docs-strategy-design.md §2.7`](../superpowers/specs/2026-05-16-docs-strategy-design.md). + +## Core principles (in priority order) + +1. **Doc-type discipline.** Different doc types serve different jobs and update differently (see table below). Conflating creates orphan-amendment drift. +2. **One canonical home per concept.** Every concept has exactly ONE authoritative doc that owns it. Other docs link, never restate. When the canonical changes, all linkers point to the same updated truth. +3. **Reader-first banners.** Frontmatter is machine-readable; banners are human/agent-readable. When state diverges from "body is current truth" (superseded, materially edited, delivered, ADR with amendments below), say so at the top — first thing the reader sees. +4. **Decision-log as temporal index.** Every canonical edit produces a decision-log entry in a standard format (see below). Canonical docs are "as of now"; the log is "what changed when and why". + +The wedge-amendment incident (2026-05-17) was a violation of principles 1, 2, and 3 simultaneously — a side-amendment spec was created (violated 1: design specs edit in place) that forked canonical state (violated 2: one canonical home) with no banner on the original (violated 3: no reader signal). Convention alone doesn't prevent this; the validator in Play 2b enforces mechanically. + +## The mechanism + +Each principle maps to mechanical enforcement (Play 2b): + +| Principle | Enforcement | +| --------------------------- | -------------------------------------------------------------------------------------------------------------- | +| Doc-type discipline | Validator HARD-FAILs `*-amendment-*.md` etc. filenames; WARNs on design-spec `## Amendment` heading additions | +| One canonical home | Play 4 audit + consolidation; `supersedes:` chain validation | +| Reader-first banners | Validator HARD-FAILs `status: superseded` without banner; WARNs on `status: delivered` without `delivered-by:` | +| Decision-log temporal index | Validator WARNs on git diff to decision-log lines older than 7 days | + +## Doc types + update patterns + +| Doc type | Where it lives | Job | Update pattern | +| ------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| **Design spec** | `docs/superpowers/specs/`, `docs/01-vision/coscout-ax-design.md`, etc. | Always-current intended state | **Edit in place.** Spec body = the truth at any moment. | +| **ADR** | `docs/07-decisions/adr-*.md` | Point-in-time decision record | `## Amendment — YYYY-MM-DD` block at bottom. New ADR for fundamental reframings. | +| **Decision-log** | `docs/decision-log.md` | Chronological pinned-decisions index | Append-only. Never edit prior entries. New entry supersedes old. | +| **Generated docs** | `*-generated.md` | Mechanical projection of source | Never hand-edit. Update the generator script + regenerate. `.prettierignore` excludes. | +| **Plan files** | `~/.claude/plans/` | Ephemeral session transcripts | Live private. Never become canonical. Optionally promote to `docs/ephemeral/transcripts/` for landmark sessions. | +| **Investigations** | `docs/investigations.md` | Pre-decision observations | Open entries editable while open. `[RESOLVED]` entries immutable. | +| **Memory** | `~/.claude/projects/.../memory/` | Cross-session durable facts for Claude | Topic files: edit in place. Index in MEMORY.md: one-line entries ≤200 chars. | +| **Agent manifests** | Root `CLAUDE.md`, `AGENTS.md`, `docs/llms.txt`, nested package `CLAUDE.md` | Agent-loaded "first read" context for every dispatch | Edit in place. CLAUDE.md size budget per file enforced (`scripts/check-claude-md-size.sh`). Keep tight — every agent reads these first. | + +## Anti-patterns (mechanically forbidden) + +| Anti-pattern | Why wrong | Right pattern | +| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `*-amendment-design.md`, `*-revision-design.md`, `*-update-design.md`, `*-followup-design.md` in `docs/superpowers/specs/` | Orphan amendments invisible to a new session reading only the canonical | Edit canonical in place + decision-log entry. **HARD-FAILed by validator (Play 2b).** | +| Editing ADR body after `status: accepted` (changing the decision itself) | Loses original decision context; future readers can't see what was decided | New `## Amendment — YYYY-MM-DD` block at bottom, OR new ADR with `supersedes:` chain | +| Editing prior decision-log entries | Breaks chronological record | New entry with `[supersedes ]` marker | +| Hand-editing `*-generated.md` files | Out-of-sync with source; next regen wipes edits | Update the generator script + regenerate | +| Putting active-decision content only in plan files | Plan files live in `~/.claude/plans/`, not in repo; future sessions can't see them | Land decisions in canonical home (ADR / spec / decision-log) before merging the PR they came from | +| Renaming canonical docs without `supersedes:` chain | Breaks inbound links + obscures lineage | `git mv` + add `supersedes:` to new path's frontmatter + redirect banner at old | +| Two design specs claiming canonical status for the same concept | Forks the SoT; readers don't know which to trust | One canonical home per concept (Play 4 enforces). Other docs link, not restate. | + +## Spec lifecycle states (explicit) + +For design specs (`docs/superpowers/specs/` and equivalents), `status:` reflects reality: + +| Status | Meaning | Body update pattern | +| ------------ | ------------------------------------------------ | --------------------------------------------------------------------------- | +| `draft` | Designing; not yet building | Edit freely. `last-verified` discipline starts at `active`. | +| `active` | Designed; build underway | Edit in place when intent changes. Bump `last-verified`. | +| `delivered` | Shipped; `delivered-by: PR #N` set | Body describes current state of shipped feature. Edit when feature evolves. | +| `superseded` | Replaced by another spec via `supersedes:` chain | Frozen. Redirect banner at top pointing to successor. | +| `archived` | Historical reference only | Frozen. Moved to `docs/archive/`. Not cited from canonical surfaces. | + +Transitions are explicit + auditable (frontmatter diff is the signal). + +## Edit-in-place mechanics (for design specs) + +When editing a canonical spec mid-flight: + +1. **Make the edit** in place. Don't create a side file. +2. **Update `last-verified: YYYY-MM-DD`** frontmatter to today. +3. **Add decision-log entry** citing the change: + ``` + - YYYY-MM-DD — . Spec edit: #
[supersedes prior text]. + : . Commit: . + ``` +4. **Commit** with message covering both the spec edit and the log entry. +5. **(If during build PR)** flag the change in the PR description so reviewers see it. + +## Reader-first banners at the top + +**Frontmatter alone is not enough.** Frontmatter (`status:`, `supersedes:`, `last-verified:`) is for tooling — machine-readable. Readers (humans + agents) need a **human-readable banner at the top** of the body, immediately after the H1. + +Industry convention: status at top, amendments at bottom (for ADRs only). + +### When a banner is required + +| Condition | Banner required at top | +| ---------------------------------------------------------------------------- | -------------------------------------------------------------- | +| `status: superseded` | YES — redirect to successor; tell reader "this is not current" | +| `status: archived` | YES — historical reference only | +| `supersedes: []` set + recent supersession | YES — note what this replaces, link the predecessor | +| Material in-place edit to a `status: active` design spec in the last 30 days | YES — note what section changed + link decision-log | +| `status: delivered` with `delivered-by: PR #N` | RECOMMENDED — note shipped state + link the PR | +| ADR with one or more `## Amendment` blocks | YES — note in the top status line that amendments exist below | +| Fresh `status: draft` or unchanged `status: active` | NOT required — body speaks for itself | + +### Banner templates + +**Superseded spec** (after H1): + +``` +> ⚠️ **SUPERSEDED 2026-MM-DD** by [``](path). Preserved for historical reference. +> For current intent, see the successor. Reason: . +``` + +**Spec with recent material in-place edit**: + +``` +> 🔄 **Last material edit 2026-MM-DD** — §
rewritten: . +> See `decision-log` entry for the matching date for rationale. +``` + +**Active build**: + +``` +> 🟡 **Active build** — implementation underway via [`PR #N`](https://github.com/.../pull/N). +> Spec body reflects current intent; verify against PR for delivery progress. +``` + +**Delivered**: + +``` +> ✅ **Delivered 2026-MM-DD** via [`PR #N`](url). Body describes shipped state; edit when feature evolves. +> Code: `packages/<...>`, `apps/<...>`. +``` + +**ADR with amendments**: + +``` +> ✅ **Accepted 2026-MM-DD** | Amended 2026-MM-DD, 2026-MM-DD (see Amendments at bottom). +``` + +**Archived**: + +``` +> 🗄 **Archived 2026-MM-DD**. Historical reference only. Successor: [``](path) or N/A. +``` + +### Why this matters (the wedge-amendment incident) + +When the wedge spec's §3.1 was amended on 2026-05-16, the canonical spec did NOT get a `🔄 Last material edit` banner. A fresh session reading the wedge spec saw no signal — body read as canonical truth, §3.1 said "Improve removed", subagent went down the wrong path. The amendment file existed (`2026-05-16-improve-tab-amendment-design.md`) but was invisible without active discovery. + +A banner at the top of the wedge spec would have made the divergence immediately visible to any reader. + +### Wikilinks don't substitute for banners + +`[[name]]` references are bidirectional in the graph but **passive at read time**. A reader sees them only if they: + +- Navigate the link (active) +- Check a backlinks panel (requires tool support + active intent) +- Run `pnpm docs:related ` (when Play 2 toolbox ships) + +Banners are **active** — the reader sees them whether they want to or not. Use banners for "you must know this before reading the body" signals; use wikilinks for "you may want to explore this". + +### Banner + frontmatter both + +The rule: if the frontmatter signals a condition that affects reader interpretation, the banner repeats it in human-readable form. Don't pick one over the other. + +| Information | Frontmatter (tooling) | Banner (reader) | +| ----------------------- | ----------------------------------------------------------- | ----------------------------------------------- | +| Doc is superseded | `status: superseded` + `supersedes: [...]` | "⚠️ SUPERSEDED" + link | +| Doc was recently edited | `last-verified: ` + `verified-against-commit: ` | "🔄 Last material edit" if user-relevant change | +| Doc is delivered | `status: delivered` + `delivered-by: PR #N` | "✅ Delivered" + PR link + code paths | + +### Enforcement (Play 2b validator extensions) + +When Play 2b ships, the validator will (in addition to the filename anti-pattern check): + +- HARD-FAIL: `status: superseded` without `> SUPERSEDED` banner in first 10 lines of body +- HARD-FAIL: `supersedes: []` without banner mentioning what's being superseded +- WARN: `status: delivered` without `> Delivered` banner or `delivered-by:` frontmatter +- WARN: design spec with `last-verified` >30 days behind current HEAD + status `active` (suggests freshness banner OR transition to `delivered`) + +--- + +## Decision-log as temporal index + +Every change to a canonical doc — spec body edit, ADR amendment, supersession — gets a decision-log entry. The decision-log is the chronological backbone over the canonical doc set: canonical docs themselves are always "as of now"; the log tells you "what changed when and why". + +The `[supersedes #
]` marker is machine-readable + greppable for finding what changed. + +### Standard entry format + +Use this shape for every decision-log entry (Play 2c's `pnpm docs:recent --amendments` parses it): + +``` +- YYYY-MM-DD — . : #
[supersedes ]. + Why: . + Commit: . PR: #N. Related: [[], []]. +``` + +**Required**: date, title, edit-type (`spec edit` / `ADR amendment` / `new ADR` / `supersession` / `archived` / `new spec`), `[supersedes …]` marker if applicable, Why, Commit. +**Optional**: PR number, Related wikilinks to other ADRs/specs/entries. + +**Edit-type vocabulary** (use these strings exactly so the parser can categorize): + +| Edit type | When to use | +| --------------- | ------------------------------------------------------------- | +| `spec edit` | Material in-place change to a design spec body | +| `ADR amendment` | Appended `## Amendment` block to an existing ADR | +| `new ADR` | Created a new ADR (with `supersedes:` if replacing) | +| `supersession` | Marked an existing doc `status: superseded` + added successor | +| `archived` | Moved a superseded doc to `docs/archive/` | +| `new spec` | Created a new design spec (no supersedes) | + +**What NOT to put in entries**: full rationale paragraphs (those live in the brainstorm transcript or PR description that Why links to); restated spec content (canonical spec is the SoT); duplicated information across entries (one decision = one entry). + +## Decision tree: "I need to change a canonical doc" + +``` +Q1: Is the doc a design spec, ADR, or decision-log entry? + + Design spec: + Q2: Is the change material reframing (the spec describes a fundamentally + different design now)? + Yes → New spec with supersedes: []. Mark old superseded. + No → Edit the spec body in place. Add decision-log entry. Bump + last-verified. (DO NOT create *-amendment-*.md side file.) + + ADR: + Q2: Is the change material reframing (the original decision is reversed + or fundamentally restructured)? + Yes → New ADR with supersedes: []. Mark old superseded. + No → Append ## Amendment — YYYY-MM-DD block at the bottom of the ADR. + Add decision-log entry. (DO NOT edit the original decision text.) + + Decision-log entry: + Always → Append a NEW entry with [supersedes ] marker. + (DO NOT edit the prior entry.) +``` + +## Why this matters + +Without doc-type discipline, the 8-purpose × 4-tier schema is just metadata gymnastics. With it, the corpus stays coherent as it scales. At any moment, "what is the current intended state of X?" has exactly ONE answer: the canonical doc for X. No mental merging. No side-spec hunting. No "what supersedes what" archaeology in plain reading. + +This is the principle that prevents "superpowers providing specs over specs". + +## Enforcement (Play 2b) + +- Validator HARD-FAILs filenames matching `*-amendment-*.md`, `*-revision-*.md`, `*-update-*.md`, `*-followup-*.md` in `docs/superpowers/specs/`. +- Validator WARNs on design-spec body diffs that add a `## Amendment` heading (allowed for ADRs only). +- Validator WARNs on design-spec `status: delivered` without `delivered-by:` frontmatter. +- Validator WARNs on `git diff` to decision-log lines older than 7 days (append-only convention). +- This skill (`agent-context-quickstart`) loads this doc on session start so every subagent gets the rules cold. + +`.docs-discipline-allowlist` escape hatch for rare intentional exceptions; additions require decision-log entry citing rationale. + +## Origin story + +This discipline was codified after the **wedge-amendment incident (2026-05-17)**: a mid-flight design change to the wedge spec was captured as a separate `2026-05-16-improve-tab-amendment-design.md` file. A new session loaded the wedge spec, didn't see the amendment doc, went down the wrong path. The user had to intervene + correct. + +The lesson: convention alone doesn't prevent this — mechanical enforcement (Play 2b) does. The original Play 2b proposed "addendum threads on all living docs" — also wrong-shape because it conflated design specs (current-state SoT) with ADRs (point-in-time records). Different doc types need different patterns. + +Related: [[feedback_design_specs_edit_in_place]], [[project_adr_amendment_convention]], [[project_eight_purpose_taxonomy]] diff --git a/docs/agent-context/onboarding-quick-start.md b/docs/agent-context/onboarding-quick-start.md new file mode 100644 index 000000000..88c4d1f25 --- /dev/null +++ b/docs/agent-context/onboarding-quick-start.md @@ -0,0 +1,92 @@ +--- +title: 'VariScout Agent Onboarding Quick Start' +purpose: agent-context +tier: living +audience: agent +status: active +topic: [ax, onboarding] +last-verified: 2026-05-16 +--- + +# VariScout Agent Onboarding Quick Start + +5-minute orientation for fresh subagents. Read this before touching any code or docs. + +--- + +## What is VariScout? + +VariScout is a **browser-based structured investigation tool for process improvement specialists**. Customer data stays in the customer's Azure tenant (browser-only processing, no server-side compute). The deterministic stats engine is the authority; CoScout (AI) adds context, never recomputes stats. See [positioning.md](../01-vision/positioning.md) for the canonical one-liner and [ADR-082](../07-decisions/adr-082-wedge-architecture.md) for the V1 architectural record. + +## Current Strategic Direction (wedge pivot 2026-05-16) + +Single-product tool, one persona (improvement specialist), one SKU (€99/mo Azure tenant-wide). + +**6-tab workflow nav**: `Home · Projects · Process · Analyze · Investigation · Report` + +- "Improve" is a **stage inside Projects detail** (not a separate tab) +- 4 stages: Charter → Approach → Improve → Sustainment +- Hub = a single process investigation unit +- Project-membership ACLs; no cross-AD-tenant invites +- VariScout Process (enterprise, multi-Hub portfolio) is named-future only + +Canonical sources: [wedge spec](../superpowers/specs/2026-05-16-wedge-architecture-design.md) + [ADR-082](../07-decisions/adr-082-wedge-architecture.md). Many older docs predate this pivot — treat as historical until Phase C audit. + +--- + +## Where to Look + +| Need | Go to | +| ----------------------------- | ----------------------------------------------------------------------- | +| Strategic direction | `docs/superpowers/specs/2026-05-16-wedge-architecture-design.md` | +| Architectural decisions (why) | `docs/07-decisions/` (live ADRs) · `docs/archive/adrs/` (superseded) | +| Product design (what) | `docs/superpowers/specs/` (active) · `docs/archive/specs/` (historical) | +| Current open decisions | `docs/decision-log.md` — check here before re-opening any topic | +| Product overview | `docs/OVERVIEW.md` · `docs/USER-JOURNEYS.md` · `docs/DATA-FLOW.md` | +| Package-specific context | `packages//CLAUDE.md` · `apps//CLAUDE.md` | +| Which package to edit | See `package-router` skill | +| Store state glossary | See `store-state-glossary` skill | +| Agent manifest / entry map | `docs/llms.txt` | +| Code smells / investigations | `docs/investigations.md` | + +**Package dependency direction**: `core → hooks → ui → apps`. Never import upward. + +**Sub-path exports**: updating a sub-path in `@variscout/core` (or any package) requires BOTH `package.json#exports` AND `tsconfig.json#paths` updated together. + +--- + +## Hard Invariants + +Violating any of these is a hard error. ESLint enforces the language ones. Full index with canonical homes + enforcement mechanisms: [`.claude/INVARIANTS.md`](../../.claude/INVARIANTS.md). + +1. **Browser-only processing** — data never leaves the customer's tenant. No server-side aggregation, no external API calls with row data (ADR-059). +2. **6 Zustand stores across 3 layers** — Document (×3): `useProjectStore`, `useInvestigationStore`, `useCanvasStore`; Annotation (×2): `useCanvasViewportStore`, `usePreferencesStore`; extra Annotation: `useActiveIPStore`; View (×1): `useViewStore`. No DataContext. Authoritative table: `packages/stores/CLAUDE.md`. +3. **No statistical roll-up across heterogeneous units** — distributions, not aggregates; no Cpk arithmetic across different spec limits (ADR-073). +4. **Language**: never write "root cause" — use "contribution" / "suspected cause" / "mechanism". Never call interactions "moderator/primary" — use `'ordinal'` / `'disordinal'`. ESLint rules enforce both. + +--- + +## Common Pitfalls + +These cause bugs, test failures, or ESLint errors. Check before committing. + +- **`Math.random()` in any code or test** — forbidden everywhere. Use a seeded deterministic PRNG in tests; avoid randomness in production code entirely. +- **Hardcoded hex colors in charts** — use `chartColors` / `chromeColors` from `@variscout/charts/colors`. No hex literals. +- **`text-green-400` (or red/amber-400) without a paired `text-green-700`** — fails light-mode contrast. Always pair. +- **`--no-verify` on commits** — never. Hooks enforce invariants; bypassing them hides real violations. +- **"root cause" language** — ESLint rule `no-root-cause-language` enforces in prompts and comments. Use "contribution". +- **Importing Dexie directly in domain stores** — only `apps/*/src/persistence/` and `apps/*/src/db/` may import Dexie. ESLint P7.2 enforces. R12 exception: `packages/stores/src/canvasViewportStore.ts`. +- **Missing `@source` in `apps/*/src/index.css`** — Tailwind v4 silently breaks responsive utilities for any shared package missing an `@source` directive. +- **Bare `useStore()` calls** — always use selectors: `useProjectStore(s => s.field)`. +- **Single `package.json#exports` update** — sub-path exports need `tsconfig.json#paths` updated too, and vice versa. + +--- + +## Skills to Reach For + +| Situation | Skill | +| --------------------------------------------------------------- | --------------------------------------- | +| Need to know which package/CLAUDE.md to read for your work area | `package-router` | +| Need to know what state lives in which store | `store-state-glossary` | +| Writing or modifying tests | `writing-tests` | +| Need to find/query VariScout docs | `docs-toolbox` (available after Play 2) | diff --git a/docs/agent-context/package-router.md b/docs/agent-context/package-router.md new file mode 100644 index 000000000..9666699f9 --- /dev/null +++ b/docs/agent-context/package-router.md @@ -0,0 +1,72 @@ +--- +title: 'VariScout Package Router' +purpose: agent-context +tier: living +audience: agent +status: active +topic: [ax, routing] +last-verified: 2026-05-16 +--- + +# VariScout Package Router + +Routing table: work area → primary CLAUDE.md → related context → ADRs → rules/invariants → suggested skills. + +Load the **Primary CLAUDE.md** first. Then load related ones as needed. Always check `docs/decision-log.md` before reopening any decided question. + +Package dependency direction (invariant): `core → hooks → ui → apps`. Never import upward. + +--- + +## Routing Table + +| Work Area | Primary CLAUDE.md | Related CLAUDE.mds | Relevant ADRs | Rules/Invariants | Suggested Skills | +| ------------------------------------------ | ------------------------------------------------------------------------------ | -------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | +| **Canvas / FRAME / Process Hub** | `packages/ui/CLAUDE.md` | `packages/stores/CLAUDE.md`, `apps/azure/CLAUDE.md` | ADR-070, ADR-076, ADR-078, ADR-082 | Canvas viewport = state not mechanism (8f); `Canvas` is canonical, `LayeredProcessViewWithCapability` deprecated | `store-state-glossary` | +| **Stats engine / math** | `packages/core/CLAUDE.md` | — | ADR-067, ADR-069, ADR-073 | `safeMath.ts` required; return `undefined` not NaN; never `Math.random()`; never `.toFixed()` on exported stat values | `writing-tests` | +| **Chart components** | `packages/charts/CLAUDE.md` | `packages/core/CLAUDE.md` | ADR-002, ADR-005, ADR-051 | `.claude/invariants/charts.md`; `chartColors` only; `useChartTheme()`; pair `*-400` with `*-700` for labels | — | +| **Zustand stores** | `packages/stores/CLAUDE.md` | `apps/pwa/CLAUDE.md`, `apps/azure/CLAUDE.md` | ADR-041, ADR-064, ADR-078, ADR-080 | Selector required; no bare `useStore()`; 3-layer boundary enforced by `layerBoundary.test.ts` | `store-state-glossary` | +| **i18n strings / locale** | `packages/core/CLAUDE.md` | — | ADR-025 | `.claude/invariants/i18n.md`; `registerLocaleLoaders()` before `preloadLocale()`; `formatStatistic()` not `.toFixed()`; `zh-Hans` → `zhHans.ts` | `writing-tests` | +| **Azure-specific (storage / auth / sync)** | `apps/azure/CLAUDE.md` | `packages/stores/CLAUDE.md` | ADR-059, ADR-079 | EasyAuth only (no MSAL); no PII in App Insights; ETag concurrency on hub-blob writes; R13 allow-list for sustainment direct writes | `store-state-glossary` | +| **PWA-specific (persistence / Dexie)** | `apps/pwa/CLAUDE.md` | `packages/stores/CLAUDE.md` | ADR-004, ADR-012, ADR-033, ADR-078 | Session-only by default; opt-in IndexedDB (single Hub-of-one); no cloud sync; no AI in free tier; `@source` directives required | `store-state-glossary` | +| **UI primitives / components** | `packages/ui/CLAUDE.md` | `packages/charts/CLAUDE.md` | ADR-045, ADR-056 | `*Base` = primitive; `*WrapperBase` = app composition; semantic Tailwind only; no nested `