Skip to content

[#221] feat: quality model document (3 layers + 3 pillars + classification rules + taxonomy)#268

Open
rucka wants to merge 6 commits into
mainfrom
feature/#221-quality-model-document
Open

[#221] feat: quality model document (3 layers + 3 pillars + classification rules + taxonomy)#268
rucka wants to merge 6 commits into
mainfrom
feature/#221-quality-model-document

Conversation

@rucka

@rucka rucka commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

PR Information

PR Title: [#229] feat: pair-capability-grill interview engine
Story/Epic: #229 (pair-capability-grill — interview engine); Parent Epic #205 (Structured & parametrized brainstorming)
Type: Feature
Priority: P0 (Must-Have)
Assignee: N/A (agent-authored)
Reviewers: N/A
Labels: feature, documentation, skills

Summary

What Changed

Adds a new capability skill, pair-capability-grill (.claude/skills/pair-capability-grill/SKILL.md), a reusable write-free interview engine with two modes:

  • interview — freeform exploration of a topic, one question at a time, always with a recommendation.
  • sync — systematic AI↔human alignment across six story aspects (Goal, AC, Edge Cases, Dependencies, Design, Risks), ending only on explicit shared-understanding confirmation.

The skill explores the KB/codebase before asking anything answerable that way, never writes to adoption files or PM tool issues (the only permitted write is an optional .pair/working/ handoff), and is invocable standalone or composed by /pair-process-brainstorm (phase 1) and a future /pair-process-refine-story phase 0.

Docs and distribution were updated to catalog the new skill and reconcile capability/total skill counts (20→22 capability, 32/33→34 total) across the docs site and .pair/knowledge/skills-guide.md, plus the packaged knowledge-hub dataset copy.

A second commit (0b55179 / e12cb71 on this branch) fixed a mapping bug found during self-review: the Sync Coverage Checklist's Goal row referenced a User Value section that only exists in the template's Initial Breakdown, not the Refined User Story Template that sync mode targets — removed. The same commit also reconciled the capability count, which had been bumped 20→21 in the first commit against a stale baseline rather than the actual directory count (22).

Why This Change

Interviews currently happen ad hoc and inconsistently across brainstorm and refine-story. This story extracts a single, reusable, write-free interview engine so both flows (and standalone use) share the same one-at-a-time / always-recommend / explore-first discipline, and so the sync mode can gate the Ready transition (R3.11) on an explicit, systematically-covered shared understanding rather than an implicit one.

Story Context

User Story: As a pair user in discovery or refinement, I want pair-capability-grill — a reusable, write-free interview engine (one question at a time, always with a recommendation, exploring KB/codebase before asking) with a sync mode for AI↔human story alignment — so that interviews are consistent across brainstorm and refine, and shared understanding gates the Ready transition (R3.11).

Acceptance Criteria:

  1. One question at a time, each with a recommendation; anything answerable by exploring KB/codebase is explored instead of asked.
  2. $mode: sync covers all six story aspects systematically and ends only at explicit shared understanding, returning the alignment synthesis to the caller.
  3. Grill writes nothing to adoption/issues in any mode — returns synthesis to caller; standalone allows an optional .pair/working/ handoff on request.
  4. Standalone invocation works with no composition context (decision Q8).

Changes Made

Implementation Details

  • Change 1: Authored .claude/skills/pair-capability-grill/SKILL.md — frontmatter, Arguments ($mode/$topic/$story/$context/$aspects), Modes, 7-step Algorithm (Step 0 mode/target detection + HALT, Step 1 explore-first, Step 2 queue building, Step 3 one-question-at-a-time with mandatory recommendation, Step 4 explicit-confirmation-only exit, Step 5 synthesis assembly, Step 6 return-never-write + optional handoff), Sync Coverage Checklist, Output Format, Composition Interface, Example Transcripts, Edge Cases, HALT Conditions, Graceful Degradation, Notes.
  • Change 2: Built the six-row Sync Coverage Checklist mapping each aspect (Goal, AC, Edge Cases, Dependencies, Design, Risks) to the exact Refined User Story Template section(s), each with an "Explore First" source and a "Sample Probe".
  • Change 3: Specified the Composition Interface (brainstorm phase 1, refine-story phase 0 as a documented future extension, standalone) and the .pair/working/ handoff file convention (naming, content, degradation path if the directory can't be written).
  • Change 4: Updated docs site (skills-catalog.mdx, writing-skills.mdx, skill-management.mdx) and .pair/knowledge/skills-guide.md (project + distributed copies) with a new "Discovery" category and reconciled skill counts; added the distributed copy packages/knowledge-hub/dataset/.skills/capability/grill/SKILL.md.

Files Changed

  • Modified: .pair/knowledge/skills-guide.md, packages/knowledge-hub/dataset/.pair/knowledge/skills-guide.md, apps/website/content/docs/contributing/writing-skills.mdx, apps/website/content/docs/reference/skill-management.mdx, apps/website/content/docs/reference/skills-catalog.mdx
  • Added: .claude/skills/pair-capability-grill/SKILL.md, packages/knowledge-hub/dataset/.skills/capability/grill/SKILL.md
  • Deleted: None
  • Renamed: None

Database Changes

N/A — no database involved in this repo/change.

API Changes

N/A — no API surface changed; this is a prose skill definition (no runtime code per story sizing).

Testing

Test Coverage

  • Unit Tests: None — no runtime code to test (skill is a markdown prose asset).
  • Integration Tests: None.
  • End-to-End Tests: None specific to this change; existing @pair/website e2e suite re-run (see Test Results) since this branch touches docs-site pages/counts.
  • Manual Testing: Not performed as scripted, recorded session transcripts. The story's own Validation and Testing Strategy calls for "scripted session transcripts (interview + sync); write-free audit" — none exist in this diff or repo-wide. The two dialogues in SKILL.md's "Example Transcripts" section are illustrative documentation, not executed-and-captured verification evidence.

Test Results

Test Suite: quality-gate (ts:check, test, lint, prettier:fix, mdlint:fix, hygiene:check, docs:staleness) — PASS
Coverage: N/A (no runtime code added)
Performance Tests: N/A
Security Scan: N/A (no automated security scan configured in this repo)
Linting: Clean
Smoke tests (scripts/smoke-tests/run-all.sh): PASS — all scenarios passed
Website e2e (@pair/website, 35 tests): PASS on re-run (first run hit a 120s webserver cold-start timeout, unrelated to this diff — confirmed by clean retry with 35/35 green)

Testing Strategy

  • Happy Path: Not exercised via a scripted transcript — see gap noted above.
  • Edge Cases: "Don't know" → provisional-answer-as-assumption, and session-interrupted → handoff-offer are specified in prose (SKILL.md Edge Cases section) but not exercised in an actual session.
  • Error Handling: sync mode's HALT when no target story is resolvable is specified (Step 0.4 / HALT Conditions) but not exercised.
  • Performance: N/A.

Quality Assurance

Code Quality Checklist

  • Code (prose) follows established skill-authoring conventions (Check/Act/Verify step structure, matches other pair-capability-* skills)
  • Frontmatter and sections documented per skill-authoring guide
  • Edge cases documented (don't-know, interrupted session, already-answered aspect)
  • No security-sensitive logic (no runtime code, no secrets)
  • Performance considerations: N/A (no runtime code)
  • No debugging code or console logs (no code at all)

Review Areas

  • Business Logic: Verified prose against AC1–AC4 (see review comment for detail)
  • Code Structure: Single markdown file, consistent with sibling capability skills
  • Error Handling: Specified but unverified by execution — see review comment
  • Performance: N/A
  • Security: N/A — no code, no secrets, no external calls
  • Testing: Coverage gap — see review comment (no scripted transcripts / write-free audit)

Deployment Information

Environment Impact

  • Development: Ready — skill file is picked up by any agent reading .claude/skills/
  • Staging: N/A — no staging environment for skill content
  • Production: N/A — distributed via packages/knowledge-hub/dataset/ on next knowledge-hub release
  • Configuration: N/A

Deployment Notes

  • Database Migration: N/A
  • Configuration Changes: N/A
  • Feature Flags: N/A
  • Dependencies: None added (no package.json changes in this diff)

Rollback Plan

Revert the commits / delete .claude/skills/pair-capability-grill/ and the distributed dataset copy, and revert the doc count changes. No data or runtime state to roll back.

Breaking Changes

API Breaking Changes

N/A — no API in this repo affected.

Integration Breaking Changes

N/A — grill is a net-new, opt-in composition point; nothing currently calls it (refine-story's phase 0 composition is documented as a future extension, not yet wired).

Migration Guide

N/A.

Documentation

Documentation Updates

  • README: N/A — no README changes
  • API Documentation: N/A
  • User Documentation: Docs site updated — new "Discovery Capabilities" section in skills-catalog.mdx, count bumps in writing-skills.mdx / skill-management.mdx
  • Technical Documentation: .pair/knowledge/skills-guide.md updated with new "Discovery Skills (1)" subsection and directory tree entry

Knowledge Sharing

  • Technical Decisions: Composition contract (brainstorm/refine-story/standalone) documented inline in SKILL.md's Composition Interface section
  • Learning Notes: First-commit mapping bug (stray User Value section reference) and count-reconciliation miss are both disclosed in the issue's Task Breakdown notes and fixed in the follow-up commit on this branch
  • Best Practices: N/A beyond following the existing capability-skill authoring pattern

Performance Impact

Performance Metrics

  • Load Time: N/A
  • Response Time: N/A
  • Memory Usage: N/A
  • Database Performance: N/A

Benchmarking Results

N/A — no runtime code, nothing to benchmark.

Monitoring

  • Metrics Added: N/A
  • Alerts Configured: N/A
  • Dashboards Updated: N/A

Security Considerations

Security Review

  • Authentication: N/A — no auth surface
  • Authorization: N/A
  • Data Protection: N/A — grill's write-free contract is itself the main safety property of this story (AC3); asserted in three places in SKILL.md (Step 6, Composition Interface, Notes) but not independently audited (see Testing gap)
  • Input Validation: N/A — no code accepting untrusted input
  • Dependency Security: N/A — no dependencies added

Security Testing

  • Security Scan: N/A — no automated scan in this repo's pipeline
  • Penetration Testing: N/A
  • Compliance Check: N/A

Accessibility

Accessibility Compliance

N/A — no UI shipped in this change (docs-site count/text edits only, no new components).

Accessibility Testing

N/A.

Risk Assessment

Technical Risks

Risk Impact Probability Mitigation
Write-free contract (AC3) never independently exercised/audited Medium Medium Add a scripted write-free audit before this composes into refine-story's real writes
Sessions too long in sync mode (story's own risk table) Medium Medium Coverage checklist ordered by risk of omission; explored/already-answered aspects skipped
Composition contract with refine-story unverified (phase 0 not built) Low Medium Verify with a mock caller once /pair-process-refine-story phase 0 lands

Business Risks

Risk Impact Probability Mitigation
Docs count drift again as more skills are added Low Medium docs:staleness quality-gate check already catches this (ran PASS)
Inconsistent interview UX until brainstorm/refine actually adopt grill Low Low Tracked by dependent stories #230 (brainstorm) and refine-story extension (#202 epic)

Reviewer Guide

Review Focus Areas

  1. Business Logic Validation: Confirm the Algorithm's Steps 3/4/6 actually implement AC1 (one-at-a-time + recommendation + explore-first), AC2 (sync systematic coverage + explicit-only exit), AC3 (write-free), AC4 (standalone works with no context).
  2. Code Quality Assessment: Prose structure, consistency with sibling pair-capability-* skills, correctness of the Sync Coverage Checklist's section-name mapping against user-story-template.md.
  3. Technical Implementation: No architectural decision required (no runtime code, no new dependency); verify doc/count changes match the actual skill directory counts.

Testing the Changes

git checkout feature/#229-pair-capability-grill
pnpm install
pnpm quality-gate
pnpm smoke-tests
pnpm --filter @pair/website e2e
# Manually: invoke /pair-capability-grill in an agent session, standalone and with a mock $story, to exercise the modes.

Key Test Scenarios

  1. Scenario 1: Standalone interview mode with no $topic — should ask for the topic first, then proceed one question at a time with recommendations.
  2. Scenario 2: sync mode with $story pointing at a partially-refined story — should skip already-covered aspects and only queue genuinely open ones.
  3. Scenario 3: sync mode with no $story and no composer $context — should HALT per Step 0.4.

Dependencies & Related Work

Blocking Dependencies

  • PR Dependency: None
  • Infrastructure: None
  • Third-party: None

Related PRs

Follow-up Work

  • Technical Debt: Missing QA transcripts / write-free audit (DoD checklist items "Composition contract verified with a mock caller" and "Write-free property verified" are unchecked on issue pair-capability-grill — interview engine (interview|sync modes) #229) — flagged in review comment, not fixed in this PR per task scope.
  • Future Enhancements: Wire refine-story phase 0 to actually compose grill (currently documented as future extension only).
  • Monitoring: N/A.

Stakeholder Communication

Stakeholder Notification

  • Product Owner: N/A
  • Business Stakeholders: N/A
  • Customer Support: N/A
  • Operations Team: N/A

Communication Plan

  • Before Merge: N/A
  • After Deployment: N/A
  • Issue Response: N/A

@github-actions github-actions Bot temporarily deployed to Website Preview July 7, 2026 16:49 Inactive
@rucka

rucka commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator Author

Review Information

PR Number: #268
Author: (branch author, feature/#221-quality-model-document)
Reviewer: pair-review agent
Review Date: 2026-07-07
Story/Epic: #221 (Refined) — parent epic #208 Unified classification & assessments
Review Type: Documentation
Estimated Review Time: 25 minutes

Review Summary

Overall Assessment

  • Approved with Comments — 3 known gaps present, all already disclosed by the author in the story's own task notes; none block merge for a docs-only, zero-runtime-code PR that is the first story of its epic.

Key Changes Summary

Adds quality-model.md — the single KB source of default quality rules (3-layer principle, 3 pillars, 5 classification dimensions with tier=max, per-tier requirements table, tech/risk-matrix.md adoption-delta schema, chromatic tag projection, and a 10-item nested taxonomy). Ships a companion risk-matrix-example.md, a mirrored docs-site page (quality-model.mdx) wired into meta.json/guidelines-catalog.mdx, a README index entry, and a 13-assertion Vitest structural test suite (quality-model.test.ts) including a real existsSync link-check for the taxonomy pointers.

Business Value Validation

Confirmed. This is the FIRST story of epic #208 and unblocks assess-cost, assess-security, review-template, and classify — all listed as dependent stories. AC1–AC4 are covered by §1–§7 of the document; verified by direct reading of the diff against the ACs.

Code Review Checklist

Functionality Review

  • Requirements Met — AC1–AC4 all present (3-layer §1, 3 pillars §2, classification+tiers §3–4, taxonomy §7, resolution cascade §6).
  • Business Logic — Tier=max, D10 SLA table (1 reviewer even at 🔴), chromatic-only tags (no eligibility tag), coupling contributes to risk:* not a new tag family — all match the story's Business Rules verbatim.
  • User Experience — docs-site page renders and is reachable; verified via pnpm --filter @pair/website e2e (35/35 passing, incl. "no broken .md links" and page-200 smoke specs).
  • Integration — no runtime consumers yet (expected — dependent skill stories not yet built).
  • Error Handling — §6 documents malformed-file, unknown-service, and absent-file resolution explicitly.
  • Performance — N/A, no runtime code.

Code Quality Assessment

  • Readability — tables over prose throughout, consistent with D22 reading-budget constraint; doc is ~128 lines.
  • Maintainability — single document, no duplicated content (coupling model and cost-signal catalog are pointed to, not restated).
  • Reusability — N/A (content, not code).
  • Naming — section numbering matches cross-references (§3.1, §3.2, §6 etc.) consistently across the KB doc and the docs-site mirror.
  • Comments — N/A.
  • Complexity — reasonable; the doc balances completeness against the reading-budget constraint.

Technical Standards Compliance

  • Style Guide — markdownlint green (verified via pnpm quality-gate, which runs mdlint:fix + the repo's markdownlint-fix script).
  • Architecture — no architectural decision introduced by this diff (Q1/Q2/Q2b decisions predate this PR, made during story refinement); no ADR/ADL required, none added — confirmed via git diff main...HEAD --stat -- .pair/adoption/tech/ (zero changes).
  • Design Patterns — N/A.
  • Dependencies — zero new dependencies; confirmed via git diff main...HEAD --stat -- '*package.json' 'pnpm-lock.yaml' (empty).
  • API Design — N/A, no API.
  • Database — N/A.

Security Review

Security Checklist

  • Input Validation — N/A, no runtime input.
  • Output Encoding — N/A.
  • Authentication — N/A.
  • Authorization — N/A.
  • Data Protection — N/A, no data handled.
  • Dependency Security — no new dependencies.
  • Secrets Management — no secrets in diff (checked all 7 changed files).
  • HTTPS/TLS — N/A.

Security Concerns

None identified. Pure content/test addition.

Testing Review

Test Coverage Assessment

  • Unit Testsquality-model.test.ts, 13 it blocks covering document structure, D10 SLA regex, tag-projection literals, resolution-order string, 4-scenario cascade wording, and §7 link existence.
  • Integration Tests — none; no resolver exists yet to integration-test against (explicitly deferred to dependent skill stories per the story's own Technical Strategy: "pure KB content... no runtime code").
  • End-to-End Testspnpm --filter @pair/website e2e, 35/35 passing, covers the new docs page's reachability and link integrity.
  • Edge Cases — malformed/unknown-service/absent-file/conflicting-override all documented in §6 and asserted textually.
  • Error Scenarios — N/A, no runtime error paths.
  • Performance Tests — N/A.

Test Quality Review

  • Test Clarity — test names are descriptive and specific (e.g., "resolves every §7 nested-taxonomy pointer link to a file on disk").
  • Test Independence — all tests read static file contents, no shared mutable state.
  • Test Data — realistic example data (payments, checkout, etc. in risk-matrix-example.md).
  • Mocking — none needed (no external dependencies).
  • Assertions — specific: regex on exact SLA wording ("1 reviewer (not 2)"), not just presence of an emoji.
  • Test Organization — grouped in 3 describe blocks (doc structure / example file / README index).

Testing Feedback

Quality Gate (pnpm quality-gate — ts:check + test + lint + prettier + mdlint + hygiene:check + docs:staleness): ✅ PASS (ran as pre-push hook)
Smoke Tests (pnpm smoke-tests): ✅ PASS (all scenarios)
E2E — website (pnpm --filter @pair/website e2e): ✅ PASS (35/35)
Test Results: ✅ All Passing

Performance Review

N/A for all sub-sections — pure documentation/test content, no runtime code path, no database, no caching.

Documentation Review

Documentation Checklist

  • Code Comments — N/A.
  • API Documentation — N/A.
  • README Updates — QA README.md updated with the new index bullet.
  • User Documentation — new docs-site page live at /docs/reference/quality-model, cross-linked from the guidelines catalog.
  • Technical Documentation — this PR's payload is itself the technical documentation.
  • Change Log — no changeset present; the branch's last commit reads "chore: remove changeset (deferred to release batch)" — consistent with an apparent practice of batching changesets at release time, though not verified against a written policy in this pass.

Documentation Quality

Detailed Review Comments

Positive Feedback

What's Done Well:

  • Reading-budget discipline is genuinely respected — ~128 lines covering 3-layer + 3 pillars + 5 dimensions + tier table + delta schema + tag projection + 10-item taxonomy, almost entirely in tables.
  • The two forward-referenced guidelines (coupling-balance.md, cost-assessment) are disclosed with code spans, not []() links — actively avoiding dead hyperlinks, with a dedicated regression test (does not create dead hyperlinks for guidelines that do not exist yet) locking this in.
  • The docs-site page's risk-matrix delta link was fixed mid-branch (commit 5df03c7) to stop pointing at a self-referential catalog anchor and instead point at the real KB source files — a real, caught, and fixed circular-link bug.
  • §7's link-existence test (existsSync against real files, not just regex-on-text) is a genuinely useful regression guard that most doc-only PRs skip.

Issues to Address

Critical Issues ⚠️

None.

Major Issues 🔍

Should fix before merge (or explicitly tracked if deferred):
  • .pair/llms.txt (repo root) — T4's own description and the story's DoD checklist ("llms.txt / KB index updated") explicitly name the repo-root static .pair/llms.txt as a target. git diff main...HEAD -- .pair/llms.txt shows zero changes on this branch, confirmed on the current (rebased-onto-latest-main) branch tip. This file is the one this repo's own CLAUDE.md/AGENTS.md calls the "AI-friendly index." The website's own dynamic /llms.txt route is unaffected (generated from the added .mdx page at request time), so only the static, checked-in file is in question. If batch-regeneration-at-release is confirmed practice (suggested by this branch's own "defer changeset to release batch" commit), this may be a non-issue — but nothing in the branch or issue states that explicitly, so it's flagged as a real, unresolved gap against the literal DoD wording rather than assumed closed.

Minor Issues 💡

Consider addressing:
  • quality-model.md §7, 2 of 10 taxonomy pointers — "Architecture / modularity" (architecture/design-patterns/coupling-balance.md) and "Cost signals" (cost-assessment guideline) point at guidelines that do not exist on disk yet — confirmed via direct filesystem check on the branch. AC1 asks for "the nested taxonomy with pointers to existing guidelines," so this is ~80% true today rather than 100%. Honestly disclosed in-line ("not yet published") and structurally protected against becoming dead hyperlinks (code span, not markdown link, plus a dedicated test). Low severity because the gap is disclosed and tested, but it is a real, confirmed gap against AC1's literal wording, not a nitpick.
  • Resolution-cascade "testing" is textual, not behavioral — the story's "Testing Methods" line says "resolution test with/without delta," and AC2/AC3 are phrased behaviorally ("when classification or review resolve the model... then..."). What's actually tested (quality-model.test.ts) is that the document's own walkthrough table contains the expected wording per scenario — i.e., internal consistency of the doc, not execution of a resolution algorithm against a real tech/risk-matrix.md. Given this story ships zero runtime code (explicit in its own Technical Strategy), this is arguably the most that could be tested here; real behavioral verification is deferred to the dependent skill stories (assess-cost, assess-security, review, classify). Flagging so it's tracked, not silently assumed closed, when those stories land.

Questions ❓

None — the 3 issues above are already self-disclosed in the story's own task notes; no clarification needed, just confirmation (which this review provides) that they still hold on the rebased branch tip.

Suggestions and Improvements

Architecture Suggestions

None — no architectural decision introduced by this diff.

Best Practices

  • When the dependent stories (assess-cost/assess-security/classify) land, consider adding an actual resolver-level test that reads a real tech/risk-matrix.md fixture and asserts the resolved tier/tags, closing the "textual-only" gap noted above.
  • When .pair/llms.txt regeneration timing is confirmed (batch-at-release vs. per-story), it would be worth a one-line ADL documenting that decision so future doc-only PRs aren't repeatedly flagged for the same non-issue (if it is confirmed to be one).

Risk Assessment

Technical Risks

Risk Impact Probability Mitigation
Model too verbose for skills to consume reliably Low Low Reading-budget structure already applied; ~128 lines, tables over prose
2/10 taxonomy pointers forward-reference unwritten guidelines Low High (confirmed present) Disclosed, non-dead-link, tracked against dependent backlog items
Resolution-cascade tests are textual only Medium High (confirmed present) Acceptable given zero runtime code shipped; real verification deferred to dependent stories — must not be silently assumed closed later

Business Risks

Risk Impact Probability Mitigation
Dependent stories build against 2 forward-referenced guidelines not yet written Low Medium Both disclosed in-doc; epic #208 already tracks the dependent stories
.pair/llms.txt staleness reduces AI-agent discoverability of the new doc Low Medium (confirmed static index unchanged) Low impact short-term since the website's dynamic llms.txt route already reflects the new page; static repo-root index gap should be closed before/at next release batch

Tech Debt Assessment

No NEW tech debt introduced by the code/test in this diff beyond the 3 items above, all of which are pre-existing gaps in the story's own scope (already surfaced by the story's own task-level review notes) rather than debt newly created by this PR's implementation choices:

  1. Repo-root .pair/llms.txt not updated (Major) — recommend a follow-up task or an explicit ADL if batch-regeneration is the accepted pattern.
  2. 2/10 taxonomy pointers forward-reference unwritten guidelines (Minor) — self-resolving once coupling-balance.md and the cost-assessment guideline land in their own stories; no action needed here beyond tracking.
  3. Resolution-cascade coverage is textual, not behavioral (Minor) — expected to be closed by dependent skill stories' own test suites; flag in this PR is to prevent it being silently assumed already covered.

None of the three block merge; none require immediate code changes to this PR's content per the review's remit (report-only, no fixes applied here).

Adoption Compliance

Area Status Notes
Tech stack / new dependencies CONFORMANT Zero new dependencies (git diff --stat -- '*package.json' 'pnpm-lock.yaml' empty)
Architectural decisions (ADR) CONFORMANT No new architectural decision introduced by this diff; .pair/adoption/tech/adr/ untouched; Q1/Q2/Q2b decisions predate this PR (made during story refinement)
Non-architectural decisions (ADL) CONFORMANT .pair/adoption/decision-log/ untouched; none needed for a pure-content addition
Security CONFORMANT No secrets, no new attack surface, no dependency changes
Coding standards CONFORMANT markdownlint green via quality-gate; test file follows existing Vitest conventions in packages/knowledge-hub/src
Infrastructure CONFORMANT No infra changes
Bounded context / architecture files CONFORMANT .pair/adoption/tech/architecture.md, boundedcontext/ untouched — not applicable to a docs-only change

Decision

TECH-DEBT — Approve with tracking. No critical issues, no missing ADR, no security holes, all quality gates (quality-gate, smoke-tests, website e2e) passing. The 3 findings (1 Major: .pair/llms.txt staleness; 2 Minor: forward-referenced taxonomy pointers, textual-only resolution-cascade coverage) are all pre-existing, self-disclosed gaps confirmed still present on the rebased branch tip — recommend tracking them (e.g., a follow-up task against epic #208, or an ADL if .pair/llms.txt batch-regeneration is confirmed as accepted practice) rather than blocking this PR.


Per this review's constraints: no fixes have been applied to the branch, and this PR has not been merged.

@rucka rucka force-pushed the feature/#221-quality-model-document branch from 4506bda to 76f6b94 Compare July 7, 2026 18:14
@github-actions github-actions Bot temporarily deployed to Website Preview July 7, 2026 18:14 Inactive
@rucka rucka force-pushed the feature/#221-quality-model-document branch from 76f6b94 to fa9daf3 Compare July 7, 2026 19:15
@github-actions github-actions Bot temporarily deployed to Website Preview July 7, 2026 19:15 Inactive
@rucka rucka force-pushed the feature/#221-quality-model-document branch from fa9daf3 to a7cad81 Compare July 8, 2026 08:27
@github-actions github-actions Bot temporarily deployed to Website Preview July 8, 2026 08:28 Inactive
@rucka rucka force-pushed the feature/#221-quality-model-document branch from a7cad81 to db520c1 Compare July 8, 2026 09:32
@github-actions github-actions Bot temporarily deployed to Website Preview July 8, 2026 09:32 Inactive
rucka added 6 commits July 8, 2026 15:40
3-layer principle, 3 pillars (Cost/Security/Delivery), classification
dimensions with tier=max, per-tier review/gate requirements, chromatic
tag projection, eligibility-as-filter, tech/risk-matrix.md delta schema
+ nested taxonomy pointers. One doc, KB defaults complete without delta.
New /docs/reference/quality-model mirrors the KB doc; guidelines
catalog gets a Quality Model row + Related link.
- point risk-matrix delta section to actual KB source files (quality-model.md §6, risk-matrix-example.md) instead of a catalog anchor that only links back here
- add R1.3 tag to shift-left statement per AC1, matching sibling dimension tags
- assert all §7 taxonomy pointer links resolve to files on disk (regression guard)
@rucka rucka force-pushed the feature/#221-quality-model-document branch from db520c1 to d3e2aaa Compare July 8, 2026 13:45
@github-actions github-actions Bot temporarily deployed to Website Preview July 8, 2026 13:46 Inactive
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