Skip to content

docs(wedge-future): PR 1.5 — VariScout Process multi-file capture (named-future, preserved heritage)#193

Merged
jukka-matti merged 10 commits into
mainfrom
feat/wedge-variscout-process-capture
May 17, 2026
Merged

docs(wedge-future): PR 1.5 — VariScout Process multi-file capture (named-future, preserved heritage)#193
jukka-matti merged 10 commits into
mainfrom
feat/wedge-variscout-process-capture

Conversation

@jukka-matti
Copy link
Copy Markdown
Owner

Summary

Multi-file canonical capture of VariScout Process design heritage at docs/01-vision/variscout-process/ — 8 docs, ~1240 lines, all status: named-future. Synthesizes ≥10 source specs into a single preserved-knowledge anchor. NOT agent-canonical — inbound link only from docs/decision-log.md; Phase A anchors (positioning, business-bible, roadmap, llms.txt, OVERVIEW, USER-JOURNEYS, membership-philosophy) remain clean of Process refs.

Why

The wedge V1 pivot (2026-05-16) deliberately narrowed VariScout to a single-product specialist tool. But substantial design work + shipped code from the pre-wedge era represents process-owner / team / enterprise capabilities that don't fit V1. This PR preserves that institutional thinking as the canonical capture before it drifts into stale archives.

Activation gated on 500+ V1 customers — Process is named-future, not committed.

What's inside

  • index.md — overview + two-product roadmap + 500-customer activation threshold + reading order + speculation flags
  • scope-line.mdthe V1-vs-Process feature boundary (5 shipped V1 capabilities with Process headroom + 4 V1-only + 10 Process-only)
  • four-personas.md — Process Owner / Engineer / Specialist / Leader + persona×evidence×level mapping
  • hub-portfolios.md — Hub-of-hubs orchestration + 4 drill operations (Drill A/B/C + Org Hub-of-Hubs)
  • measurement-system.md — Process Measurement System cadence substrate
  • methodology.md — Three-level methodology (Outcome / Flow / Mechanism) + 6 Watson invariants + 5→3 response-path collapse
  • pipelines.md — Auto-ingestion + Evidence Source / Profile / Snapshot data model + multi-source profile join
  • monitoring.md — 6 drift types + Process Owner monitoring views + alert routing

Source specs aggregated

10 specs synthesized (not copy-pasted): Coherence design (Sessions A/B/C), pre-wedge vision, multi-level SCOUT, investigation scope + drill semantics, Evidence Sources / Data Profiles, Production line glance (W1' engine), consolidated method + surface overview, Process Hub design, wedge architecture §7, decision-log wedge entry.

Notable design calls

  1. SME → Process Engineer rename — the Coherence spec used "SME"; this capture renames to "Process Engineer" as a clarification (RACI-vs-persona terminology lock). Single edit point at four-personas.md §1 if reversion needed.
  2. 8 files kept separate (resisting merge temptation): measurement-system (substrate) vs monitoring (surface) have distinct cognitive shapes worth distinguishing.
  3. Three explicit speculation sections flagged honestly (index §9 activation order; four-personas §9 persona introduction sequence; methodology §4 5→3→? response paths). Per the "don't make commitments, don't hedge" rule.

Tooling support change

scripts/docs-frontmatter-schema.mjs — added 'named-future' to the STATUS enum (line edit). Required so pnpm docs:check accepts the new frontmatter; authorized by the schema's own comment ("Extend here when a new legitimate value is introduced"). named-future is a genuinely new doc-state class (preserved-but-not-shipping).

Inbound link strategy (CRITICAL)

Only inbound link: docs/decision-log.md item #8 of the 2026-05-16 wedge entry, appended with:

"Design heritage preserved at docs/01-vision/variscout-process/"

NO inbound from: docs/llms.txt, Phase A anchors (positioning, business-bible, roadmap, OVERVIEW, USER-JOURNEYS, membership-philosophy), root CLAUDE.md. Agents reading the canonical anchor graph won't be steered here; future humans grepping for "VariScout Process" find it via the decision-log breadcrumb.

Test plan

  • All 8 files have status: named-future frontmatter (verified)
  • Phase A anchors clean of Process refs (verified by grep)
  • pnpm docs:check PASS (540 docs validated)
  • Inbound link from decision-log only

Plan + spec

  • Spec: docs/superpowers/specs/2026-05-17-wedge-phase-a-doc-completion-design.md §"Revised sequence" PR 1.5
  • Source specs cited in each file's frontmatter related: field

Followups (NOT this PR)

  • Phase C — PR 2 (AMEND) + PR 3 (ARCHIVE) + PR 4 (DELETE) for the ~500-doc holistic sweep per docs/superpowers/plans/2026-05-17-phase-c-doc-audit.md
  • VariScout Process product activation — next year+, gated on 500+ V1 customers

🤖 Generated with Claude Code

…rder

Preserved institutional capture for VariScout Process (named-future).
Multi-file synthesis of pre-wedge design heritage that doesn't fit V1
specialist scope. Activation gated on V1 reaching ~500 customers.

Adds 'named-future' to STATUS enum in docs frontmatter schema for
honest representation of preserved-not-shipping doc state.

Index covers: two-product roadmap, activation threshold, V1-vs-Process
boundary summary, file map, reading order, what-this-is-not.
…eature boundary

Per-capability line between V1 specialist scope and Process scope.
Tables for shipped V1 capabilities with Process headroom, V1-only
features that Process inherits or transforms, and Process-only
capabilities with no V1 shape. The doc to consult when triaging
whether a feature request is V1 or Process.
…r / Engineer / Specialist / Leader

Coherence Session A's 4-persona model preserved as Process-scope
design. Specialist is the V1 persona; the other three activate in
Process. Captures persona-aware default landings, persona x evidence
type mapping (Constitution P7), RACI vs persona terminology lock,
and persona introduction sequencing for activation.
…rchestration + drill semantics

Hub-as-first-class-noun + multi-hub portfolios + the four drill
operations (Hub->Step, Step->Channels, Step->Sub-flow, Org Hub-of-Hubs).
Versioned canonical map governance + multi-investigation lifecycle
on one Hub. ADR-073 locality rule enforced by structural absence:
no meanCpkAcrossHubs() exists or will exist.
… Measurement System

PMS as cadence-review substrate for Process Owner persona. Stable
measure definitions + Evidence Sources + Snapshots + Signal Cards +
Survey readiness + cadence rules combining into Current Process State.
Three timescales (daily huddle / weekly review / monthly leadership)
with their own surfaces, personas, triggers. PMS makes the methodology
continuous; projects are events on top of it.
…tcome/flow/operations

Three-level methodology (System+Outcome / Process Flow / Local
Mechanism) as substrate shared across both products. Named-future
piece: persona x level mapping (Process Owner reads L1, Process
Engineer authors L2, Specialist works L3, Leader scans L1 portfolio).
Watson invariants (ADR-073, contribution-not-causation, observed-vs-
expected lens, sample-size honesty, target-relative Cpk grading,
geometric interaction language) hold across V1 and Process.
… multi-source profile

Auto-ingestion as the 'automated data' half of process ownership.
Evidence Source / Data Profile / Snapshot / Profile Application data
model (partly shipped in V1). Three timescales of cadence-driven
refresh. Customer-tenant ingestion + rollups architecture honoring
ADR-059 browser-only processing. Multi-source profile join at Hub
scale. Non-goals: no ERP integration, no live alarms, no agent-eval
product, no replacement of deterministic stats engine.
… + process-owner views

Process-owner monitoring as the 'ongoing watching' half of process
ownership. Six drift types (capability / distribution shift /
out-of-control / spec breach / throughput / defect rate). Process
Owner monitoring views (State mode decisions queue + Current State +
Process map + In-flight references). Multi-Hub portfolio shape. Alert
routing per persona+surface. Sustained-improvement durability
monitoring extends ADR-080 from project-bounded to Hub-persistent.

Cadence-shaped, not real-time. NOT a SCADA/MES replacement.
Single inbound link from item #8 of the 2026-05-16 wedge entry to
the new VariScout Process named-future directory. This is the only
discovery breadcrumb — Phase A canonical anchors (positioning,
business-bible, roadmap, llms.txt, OVERVIEW, USER-JOURNEYS) stay
clean of Process references per the design.

Satisfies the docs workflow inbound-link requirement (new docs need
>=1 inbound link) for the entire variscout-process/ directory;
internal cross-links between the 8 files satisfy the rest.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mean-beoynd-lite-pwa Ready Ready Preview, Comment May 17, 2026 3:07pm
variscout_website Ready Ready Preview, Comment May 17, 2026 3:07pm

…in Process capture body prose (preserve filename + historical refs)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jukka-matti jukka-matti merged commit 5d2a82c into main May 17, 2026
1 of 3 checks passed
jukka-matti added a commit that referenced this pull request May 17, 2026
…livered agent-docs specs (#196)

PR 5 of the Phase C arc. Original audit triaged 3 items for DELETE:
1. ~~architecture.md §12 Teams SDK section~~ — REMOVED FROM SCOPE: PR 3 Batch D rewrote §12 into "Teams Static Tab (Azure App)" as a current V1 reference (per final-review finding on #195).
2. agent-docs-architecture-design.md (delivered): "10 personas × 14 use cases × 3 tiers" complexity claim was pre-wedge; live USER-JOURNEYS.md was rewritten in Phase A.
3. agent-docs-architecture-phase1-foundation.md (delivered): Task 7's USER-JOURNEYS.md draft (10 personas) was pre-wedge.

Both files describe a delivered architecture (5-layer model, skills, Tier 1/2 narrative split) that remains in force — line-delete would break spec coherence. Applied wedge supersession callout at top of each instead, preserving 10-persona content as historical record. Canonical persona artifact is now docs/01-vision/variscout-process/four-personas.md (named-future).

Closes Phase C doc cleanup arc (PRs #191, #192, #193, #194, #195, this).
jukka-matti added a commit that referenced this pull request May 17, 2026
… latest main) (#199)

* docs: foundational artifacts for docs-strategy-2026 (memo + spec + ADR-083)

Create three foundation docs that the rest of Play 1 rests on:
- 2026-05-16-docs-strategy-memo.md: 1-page CTO memo (§8 of plan)
- 2026-05-16-docs-strategy-design.md: full strategy spec (§§1-7, 10)
- adr-083-eight-purpose-doc-taxonomy.md: ADR for the schema change

ADR-083 captures the 8-purpose × 4-tier two-axis schema, STATUS alias
map (22→4), AUDIENCE alias map (14→3), CATEGORY→topic-tags replacement,
and the migration approach for Play 1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(scripts): collapse frontmatter schema (22→4 STATUS, free-form topic, 3 AUDIENCE) + add purpose/tier + drift fields

Per ADR-083: two-axis schema (8 purposes × 4 tiers) replaces the
over-engineered 22-STATUS × 18-CATEGORY × 14-AUDIENCE triplet.

scripts/docs-frontmatter-schema.mjs:
- Add PURPOSE enum (8 values) and TIER enum (4 values)
- Collapse STATUS from 22 → 4 canonical values
- Export STATUS_ALIAS_MAP (11 old→new mappings) for transitional validation
- Export AUDIENCE_ALIAS_MAP (14 old→new mappings)
- Remove CATEGORY enum; topic tags are now free-form
- Collapse AUDIENCE from 14 → 3 canonical values (human/agent/both)
- Add new optional fields: purpose, tier, last-verified,
  verified-against-commit, supersedes, related
- Update classify() for new folder paths (Play 1 prep)

scripts/check-doc-frontmatter.mjs:
- Warn (not fail) on aliased STATUS/AUDIENCE values
- Hard-fail on unknown PURPOSE/TIER when present
- Add --report mode: counts docs missing purpose + tier

scripts/docs-frontmatter-fix.mjs:
- Apply STATUS_ALIAS_MAP and AUDIENCE_ALIAS_MAP
- Handle inline array audience form (audience: [analyst, engineer])
- Backfill purpose + tier via path heuristics (all 521 docs covered)

Applied to all 521 docs: 0 hard violations, 0 transitional warnings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(agent-context): add 3 Tier 1 supporting docs (quickstart + package-router + store-state-glossary)

New docs at docs/agent-context/ (TEMP location; will move to docs/living/agent-context/ in Play 1b):
- onboarding-quick-start.md: 5-minute agent orientation covering wedge V1 direction, hard invariants,
  where-to-look table, and common pitfalls (Math.random, hex colors, --no-verify, root-cause language)
- package-router.md: 20-row routing table mapping work areas → primary CLAUDE.md + related CLAUDEs
  + ADRs + rules/invariants + suggested skills
- store-state-glossary.md: full glossary of all 7 stores × 3 layers (Document/Annotation/View) per
  ADR-078 + F4, with top fields, persistence details, and hard rules per store

All 3 docs use the new two-axis schema (purpose, tier, audience, topic, last-verified) introduced in
the docs-strategy-2026 plan. Verified against packages/stores/src/*.ts at commit 5ee58dc.
pnpm docs:check passes (527 docs validated, no issues).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(skills): add 3 Tier 1 agent-context skills (quickstart + package-router + store-state-glossary)

Closes the 4%-of-living agent-context gap identified in plan §7.1. Three skills for fresh subagent
dispatch orientation (Play 3 Tier 1):

- agent-context-quickstart: loads docs/agent-context/onboarding-quick-start.md; description triggers
  on any "start of session", "new subagent", or "need context" phrasing; covers wedge V1 direction,
  hard invariants, where-to-look, and common pitfalls
- package-router: routes work areas (canvas, stats, charts, stores, i18n, azure, pwa, ui, hooks,
  coscout, response-paths, capability/yamazumi/defect/performance/process-flow modes, projects tab,
  investigation wall, evidence map, sample data) to primary CLAUDE.md + related CLAUDEs + ADRs +
  rules; description triggers on "which package", "where to look", "which CLAUDE.md"
- store-state-glossary: covers all 7 stores × 3 layers per ADR-078 + F4; description triggers on
  "which store", "what state lives", "store state" phrasing; links to full doc and packages/stores/CLAUDE.md

All 3 skills follow the SKILL.md spec (name ≤64 chars, description with what+when, body ≤200 lines).
Skills use force-add to override .claude/.gitignore — standard pattern for project-scoped skills.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(.claude): rename .claude/rules/ → .claude/invariants/ + update path references

Renames 6 constraint files (stats, testing, charts, coscout-prompts, i18n,
azure-storage) from .claude/rules/ to .claude/invariants/ to clarify their
purpose as policy-level invariants (not procedure routers). Updates all
active references in CLAUDE.md, package-router.md, and two implementation
docs to the new path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(.claude): add INVARIANTS.md synthesis index

Creates .claude/INVARIANTS.md as the single entry-point for all
VariScout cross-cutting non-negotiables. Organises invariants into
three tiers — hard (lint/test-enforced), soft (convention + reviewer),
and topic-scoped (load on demand) — with canonical home and enforcement
mechanism cited for each. Identifies two open enforcement gaps (Math.random
and Tailwind @source) for follow-up in investigations.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: replace prose invariant duplication with [[invariant]] links + log enforcement gaps

Links root CLAUDE.md §Invariants and onboarding-quick-start.md §Hard
Invariants to the new .claude/INVARIANTS.md index instead of restating
the full invariant list. Updates agent-context-quickstart skill to
explicitly load INVARIANTS.md in its How to Use procedure. Logs two
open enforcement gaps (Math.random ban, Tailwind @source check) to
docs/investigations.md as candidates for Play 7.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(scripts): add docs:gen-arch — auto-generate dependency/exports/Tailwind architecture doc

Adds scripts/docs/gen-arch.mjs that walks package.json files (dep graph),
tsconfig.json paths (sub-path export map), and apps/*/src/index.css (@source
directives) to emit docs/05-technical/architecture-generated.md.

Wired as pnpm docs:gen-arch in root package.json. Pre-push hook regenerates
and fails if checked-in version is stale, surfacing drift immediately.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(system): add initial auto-generated architecture doc + cross-link from technical index

Adds docs/05-technical/architecture-generated.md (initial committed version).
Updates docs/05-technical/index.md to add inbound link so the doc is not
an orphan (required by pnpm docs:check orphan check).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(design): add canonical CoScout AX-design doc consolidating ADR-060/068/069 + prompt rule

Creates docs/01-vision/coscout-ax-design.md as the single canonical AX-design
surface for CoScout: persona, voice, tier-gated behaviors (table), five-pillar
knowledge architecture, three-boundary safety, prompt engineering link,
tool-calling, voice input, eval discipline, mode-aware methodology coaching,
and related artifacts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: cross-link constituent CoScout ADRs + invariant + router to canonical AX-design

- ADR-060, ADR-068, ADR-069: add related: [coscout-ax-design] to frontmatter
  + brief "See canonical AX design" note near each ADR title
- .claude/invariants/coscout-prompts.md: add related: [coscout-ax-design]
  + see-also note at bottom
- docs/agent-context/package-router.md: update CoScout row to point at
  coscout-ax-design.md as canonical entry point (was packages/core/CLAUDE.md)
- .claude/INVARIANTS.md: update CoScout-prompts topic-scoped row to reference
  coscout-ax-design.md as the first-load for CoScout work

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(prettier): exclude auto-generated arch doc + regenerate

The Play 7 gen-arch script outputs compact markdown tables; lint-staged
prettier reformatted them on commit, causing the pre-push staleness check
(`git diff --exit-code` after regeneration) to fire on every push.

Fix: add `.prettierignore` excluding the generated file so committed
content matches the script's output verbatim.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(strategy): revise Play 2b to SSoT-by-doc-type discipline + ship convention doc

Discipline gap surfaced by the 2026-05-17 wedge-amendment incident: a mid-flight
design change to wedge spec was captured as `2026-05-16-improve-tab-amendment-design.md`
(orphan side spec), invisible to a fresh session reading only the canonical wedge spec.
Convention alone didn't prevent it; mechanical enforcement does.

Strategy spec (edited in place, dogfooding the principle):
- §1 Context: note the discipline-drift failure mode + why mechanical enforcement matters
- §2.6 per-purpose table: design row → edit-in-place; remember row → append-only
- §2.7 NEW: Doc Discipline (SSoT by doc type). Design specs edit-in-place; ADRs
  amendment-block-at-bottom; decision-log append-only; generated never-hand-edit;
  plan files ephemeral. Anti-pattern table + spec lifecycle states + edit-in-place
  mechanics + "decision-log as temporal index" framing.
- Play 2b: revised from "addendum threads on all living docs" (wrong-shape — conflated
  design specs with ADRs) → "SSoT discipline by doc type" with validator forbidding
  `*-amendment-*.md` / `*-revision-*.md` / `*-update-*.md` filenames + lifecycle-state
  enforcement. Marked safe-parallel — ships now, no Play 1b dependency.
- §4 migration: shipped/deferred status table reflecting current execution state
- §10 risks: 3 new rows (discipline drift, validator false-positives, body staleness)

Memo: aligned §What we're changing + §plays item 2 + §What we kill; added `last-verified`.

NEW canonical: `docs/agent-context/doc-discipline.md` — focused reference (~150 lines)
loaded by `agent-context-quickstart` skill on session start. Includes:
- Doc-types + update-patterns table (7 types)
- Anti-patterns table with right-pattern column
- Spec lifecycle states (draft → active → delivered → superseded → archived)
- Edit-in-place mechanics for design specs (5-step procedure)
- Decision tree: "I need to change a canonical doc → which pattern?"
- Origin story citing the wedge-amendment incident

agent-context-quickstart SKILL.md: wires doc-discipline.md as step 4 ("If your task
involves editing ANY canonical doc"). Added to Supporting Documents list.

This commit dogfoods the principle: strategy spec edited in place, not as an
`*-amendment-design.md` side file. Plan file at ~/.claude/plans/ updated separately
with a banner pointing to the canonical spec as the SoT going forward.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: regenerate arch doc

Routine regen after staleness check (per Play 7 pre-push convention).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(discipline): add reader-first status banner principle (top of file)

Question: should amendment/relevance info be at the top of files? Does
wikilink structure preserve that?

Answer: YES, top. Frontmatter is for tooling; banner is for readers
(humans + agents). Wikilinks preserve graph structure but are passive at
read time — banners are active. Industry convention (MDN, Stripe, IETF,
Wikipedia, Tailscale): status at top, amendments at bottom (ADRs only).

Added to doc-discipline.md §Reader-first banners:
- Required/recommended matrix per condition (status: superseded, supersedes:,
  recent material edit, delivered, ADR with amendments)
- 6 concrete banner templates (superseded, recent edit, active build,
  delivered, ADR amended, archived)
- Origin story citing wedge-amendment incident
- "Wikilinks don't substitute for banners" explanation
- Banner + frontmatter both required (machine vs reader)
- Play 2b validator extensions for banner enforcement (4 new rules)

Added to strategy spec §2.7:
- New subsection "Reader-first banners at the top" pointing to discipline doc
- Edit-in-place mechanics step 3 now includes "add status banner"
- Play 2b validator scope extended in mechanics section

Dogfooded: strategy spec itself now carries a banner at top noting active
build via PR #184 + last material edit 2026-05-17.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(discipline): elevate 4 affirmative principles + codify decision-log format + classify agent manifests

Audit gaps surfaced after yesterday's discipline shipment:
1. "One canonical home per concept" was buried as an anti-pattern; now stated affirmatively as Principle #2
2. Decision-log entry format was informal; now codified with edit-type vocabulary for Play 2c toolbox parsing
3. CLAUDE.md/AGENTS.md/llms.txt weren't classified in the doc-types table

Both strategy spec §2.7 and doc-discipline.md updated in parallel:

Core principles (in priority order):
1. Doc-type discipline
2. One canonical home per concept (Play 4 enforces)
3. Reader-first banners
4. Decision-log as temporal index

Wedge-amendment incident reframed as a simultaneous violation of principles 1+2+3,
making clear why all four need mechanical enforcement (Play 2b).

Doc types extended in the at-a-glance list: investigations + memory + agent manifests
added (was 5 types covered, now 8). Agent manifests get an explicit row in the
doc-discipline.md table noting they're the "first read" surface every agent dispatch
loads — keep tight, CLAUDE.md size budget enforced.

Decision-log entry standard format:
- YYYY-MM-DD — <title ≤80c>. <edit-type>: <doc>#<section> [supersedes <prior>].
  Why: <one-sentence>. Commit: <sha>. PR: #N. Related: [[<id>]].

With edit-type vocabulary (spec edit / ADR amendment / new ADR / supersession /
archived / new spec) for machine-parseable categorization by Play 2c toolbox. Lists
what NOT to put in entries (no rationale paragraphs, no restated spec content, no
duplicated info — one decision = one entry).

Strategy spec banner updated to reflect today's second material edit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(agent-context): align with current main reality — 7-tab nav, €120, 3 personas, Math.random ESLint enforced

Stale-reference fix pass after cherry-picking PR #184's infrastructure onto fresh
branch off latest main. Aligns agent-context surface with what shipped today:

- `docs/agent-context/onboarding-quick-start.md`:
  - €99 → €120; 6-tab → 7-tab nav
  - "Improve = stage inside Projects" → "Improve = top-level verb tab" (per 2026-05-16
    Improve-tab amendment); Project stages collapsed to Charter→Approach→Sustainment
  - Add 3 personas inside Project: Lead (full edit + manages membership) / Member
    (full edit) / Sponsor (Report-only at V1, signoff out-of-band). Every subagent
    loading quickstart sees all 3 on first read.
  - Tier-gating "fully retired" (no more isPaidTier() checks)
  - VariScout Process named-future now points to `docs/01-vision/variscout-process/`

- `.claude/skills/agent-context-quickstart/SKILL.md`: same updates (Key Facts section)

- `docs/agent-context/package-router.md`: Projects-tab row updated — "Lead/Member/Sponsor
  roles" → "3 personas: Lead/Member/Sponsor"; stage list shortened; Improve as top-level
  noted; €120 pricing

- Root `CLAUDE.md`: add "3 personas within each Project (Lead/Member/Sponsor)" to the
  strategic-direction line (the rest was already current — €120, 7-tab, Improve restored)

- `.claude/INVARIANTS.md` §Enforcement Gaps: Math.random ban marked RESOLVED 2026-05-17
  via PR #198 (Tier 1 Math.random retirement + ESLint guard shipped)

Per user's terminology decision (2026-05-17): use "3 personas" framing consistently in
agent-context docs (simpler than wedge spec's "1 persona + 3 ACL roles"). Specialist
is the ICP description, not a 4th persona. Open question logged for follow-up:
unify wedge spec terminology to match (out of scope for this PR).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(transcripts): promote docs-strategy-2026 brainstorm plan file to repo transcript

Per the doc-discipline.md ephemeral-promotion rule: plan files in ~/.claude/plans/
are session-private by default; SELECTIVE promotion to docs/ephemeral/transcripts/
for LANDMARK sessions. The docs-strategy-2026 brainstorm qualifies — it produced
the foundational strategy + ADR-083 + the SSoT-by-doc-type discipline.

What this preserves in repo:
- Full design journey (8 purposes × 4 tiers, audit findings from Agent 1 + Agent 2)
- Mid-session pivots (wedge-conflict surfaced → split Play 1 into 1a safe + 1b
  deferred; original "addendum threads" Play 2b revised to SSoT discipline after
  the wedge-amendment incident)
- §11 post-PR-184 recalibration (cherry-pick recovery plan + Play 1b/2a reorder +
  3-personas terminology decision)

Frontmatter added: purpose: remember, tier: ephemeral, status: archived,
audience: human, topic: [docs-strategy, transcript, brainstorm].

Top banner converted from "plan-file pointing-at-canonical" to "archived transcript
pointing-at-canonical" — the file IS now the canonical historical record.

Inbound link added from strategy spec (avoids orphan check). Future readers see:
spec for "what" (current intent); transcript for "why each decision was made".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(schema): add 'named-future' to STATUS_ALIAS_MAP

The user's PR #193 (VariScout Process named-future capture) created 8 docs at
`docs/01-vision/variscout-process/` with `status: 'named-future'`. That value
was valid in the old 22-value STATUS enum but missing from my collapsed
4-value canonical set.

Maps to 'active' since named-future docs ARE actively maintained design
artifacts for the future product — not draft (designed) or superseded
(replaced). They describe what the named-future product WILL be.

Resolves 8 hard-fail check-doc-frontmatter errors blocking push.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(schema): named-future earns its own STATUS value (5 canonical, not 4)

User feedback: aliasing 'named-future' to 'active' (commit 3a6928b) overstated
the commitment level. VariScout Process docs at docs/01-vision/variscout-process/
are aspirational — contingent on V1 reaching 500+ customers. They're not in
active design; they describe what's COMMITTED for a future product line.

The 4-value collapse (draft/active/superseded/archived) was overzealous. The
22→4 reduction missed a meaningful distinct lifecycle state. Promoting
'named-future' to a canonical 5th status preserves the semantic intent:

- draft: designing; not yet building
- active: designed; build underway
- **named-future: aspirational/conditional commitment** (not in active design)
- superseded: replaced by another spec
- archived: historical reference only

Changes:
- scripts/docs-frontmatter-schema.mjs: add 'named-future' to STATUS enum;
  remove from STATUS_ALIAS_MAP (no longer aliased)
- docs/agent-context/doc-discipline.md: spec-lifecycle table extended; example
  cites VariScout Process docs; added note on 'delivered' being a soft state
  signalled by `delivered-by:` frontmatter (not a status: enum value)
- docs/superpowers/specs/2026-05-16-docs-strategy-design.md: schema section +
  collapse summary + migration sequence updated (22→5 not 22→4)
- docs/superpowers/specs/2026-05-16-docs-strategy-memo.md: same

Resolves 8 hard-fail check-doc-frontmatter errors for variscout-process/ docs
WITHOUT semantically mis-labeling them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: regenerate arch doc

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant