Skip to content

docs: add review infrastructure and convention pack documentation - #256

Open
jflowers wants to merge 3 commits into
mainfrom
opsx/review-infra-docs
Open

docs: add review infrastructure and convention pack documentation#256
jflowers wants to merge 3 commits into
mainfrom
opsx/review-infra-docs

Conversation

@jflowers

Copy link
Copy Markdown
Contributor

Summary

Adds comprehensive documentation for review infrastructure, convention packs, and recently shipped capabilities — closing 8 GitHub issues with dedicated pages and addressing 2 more via cross-references.

New pages:

  • Convention Packs reference (/docs/reference/convention-packs/) — severity levels, all 7 pack types, loading mechanism, CI pack details, governance hierarchy
  • Council Review Action reference (/docs/reference/council-review-action/) — three-workflow chain architecture, 9 Divisor personas (6 review + 3 content), configuration with security notes
  • Council Review Action tutorial (/docs/getting-started/council-review-action-tutorial/) — 6-step adoption guide with SHA-pinned YAML examples, troubleshooting

Updated pages:

  • CLI reference — new "OpenCode Slash Commands" section with /agent-brief, /review-pr, /address-feedback
  • Constitution — added Principle V (Security by Default) with 4 MUST rules, bumped version to v1.2.0
  • Common workflows — corrected branch naming from NNN-* to speckit/NNN-*
  • Developer guide — convention pack cross-reference, branch naming correction
  • Reference index — entries for new reference pages
  • Getting started index — updated "4 core principles" to "5 core principles"

Closes #206, #205, #190, #192, #142, #60, #59, #138

How to Test

  1. Run npm run build — should succeed with 143 pages, no errors on new/modified pages
  2. Run npm run dev and verify:
    • /docs/reference/convention-packs/ renders with severity table, 7 pack types, CI pack section
    • /docs/reference/council-review-action/ renders with 9 personas in two tables, workflow diagram, secrets using ${{ secrets.* }}
    • /docs/getting-started/council-review-action-tutorial/ renders with 6 steps, SHA-pinned YAML, troubleshooting section
    • /docs/reference/cli/ has "OpenCode Slash Commands" section with 3 entries
    • /docs/getting-started/constitution/ shows 5 principles including "Security by Default", version v1.2.0
    • /docs/getting-started/common-workflows/ uses speckit/NNN-* branch naming (no old NNN-*)
    • /docs/reference/ index page lists Convention Packs and Council Review Action
  3. Toggle dark mode and verify new pages render correctly
  4. Click all internal cross-references in new pages to verify no broken links

How to Demo

  1. Navigate to /docs/reference/convention-packs/ — shows the complete convention pack system with severity levels, available packs, and governance hierarchy
  2. Navigate to /docs/reference/council-review-action/ — shows the three-workflow chain architecture and all 9 Divisor personas
  3. Navigate to /docs/getting-started/council-review-action-tutorial/ — walk through the 6-step adoption guide
  4. Navigate to /docs/reference/cli/ and scroll to "OpenCode Slash Commands" — shows the new slash command documentation
  5. Navigate to /docs/getting-started/constitution/ and scroll to Principle V — shows Security by Default

Key Files Changed

New content pages (3):

  • content/docs/reference/convention-packs.md — 128 lines, weight 30
  • content/docs/reference/council-review-action.md — 202 lines, weight 40
  • content/docs/getting-started/council-review-action-tutorial.md — 419 lines, weight 75

Modified content pages (6):

  • content/docs/getting-started/constitution.md — +23 lines (Principle V, version bump, link updates)
  • content/docs/reference/cli.md — +72 lines (OpenCode Slash Commands section)
  • content/docs/getting-started/common-workflows.md — +9/-4 lines (branch naming, persona notes)
  • content/docs/getting-started/developer.md — +4/-2 lines (convention pack cross-ref, branch naming)
  • content/docs/reference/_index.md — +10/-2 lines (new page entries, updated description)
  • content/docs/getting-started/_index.md — +1/-1 lines (4→5 principles)

OpenSpec artifacts (7):

  • openspec/changes/review-infra-docs/ — proposal, design, 4 specs, tasks

Dewey learnings (4):

  • .uf/dewey/learnings/ — divisor personas, constitution principle V, website docs maintenance, review insights

Known Issues

The following pre-existing inconsistencies were discovered during review and filed as separate issues:

This PR was generated by /uf.finale (AI-assisted).

- Add convention packs reference page (severity levels, pack types,
  loading mechanism, CI pack, governance hierarchy)
- Add council-review-action reference page (three-workflow chain,
  persona discovery, configuration, security notes)
- Add council-review-action tutorial (6-step adoption guide with
  SHA-pinned YAML examples and troubleshooting)
- Add OpenCode slash commands to CLI reference (/agent-brief,
  /review-pr, /address-feedback)
- Add Constitution Principle V: Security by Default
- Update branch naming from NNN-* to speckit/NNN-*
- Update developer guide with convention pack cross-reference
- Update reference section index with new page entries

Closes #206, #205, #190, #192, #142, #60, #59, #138

Assisted-by: claude-opus
Generated with AI assistance (claude-opus)

@yvonnedevlinrh yvonnedevlinrh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary: REQUEST CHANGES

Thanks for the thorough documentation work — the build passes cleanly (143 pages, exit 0) and the tutorial's workflow examples are exemplary (SHA-pinned actions, least-privilege permissions, no embedded secrets). Two blocking issues need resolution before merge.

Blocking (HIGH)

  • ci.md deployment claim is factually wrongcontent/docs/reference/convention-packs.md:50 states ci.md is deployed "when the corresponding language or context is detected, or can be added manually." Linked issue #206 explicitly states it is always-deployed via uf init. Please correct this to reflect the always-on behavior.

  • Constitution version mismatchcontent/docs/getting-started/constitution.md:148 claims "currently v1.2.0", but the authoritative .specify/memory/constitution.md in this repo is v1.0.0 (the org constitution is also 1.0.0). Either bump the governance constitution first (correct order), or align the page to v1.0.0. Follow-up #255 exists but doesn't unblock this merge.

Recommended (non-blocking)

  • Persona count mismatch (MEDIUM) — The tutorial and reference pages say 9 Divisor personas, but .opencode/agents/ contains 11 (divisor-pr.md and divisor-techwriter.md are missing from the list). The tutorial's ls .opencode/agents/divisor-*.md verification step would show 11, actively misleading readers.
  • WIF guidance gap (MEDIUM) — Issue #192 calls for Workload Identity Federation as the primary Vertex auth path; the tutorial uses static secrets instead. Works, but teaches a less-secure pattern.
  • #142 review-infra enhancements (LOW) — Compound severity escalation, adversarial input enumeration, and CI bot cross-referencing aren't documented.

Passing checks

  • Hugo build: PASS (all 143 pages render)
  • Security: SHA-pinned actions, least-privilege permissions, no hardcoded secrets
  • Zero-waste: cross-references/anchors verified, no placeholder content

Linked issue coverage

Issue Coverage
#205, #190 COVERED
#206, #192, #142, #60, #59, #138 PARTIAL

Review generated by /uf.review-pr (AI-assisted).

- convention-packs.md: ci.md and content.md are always-deployed packs,
  not conditionally deployed. Updated to match upstream
  scaffold.go:alwaysDeployedPacks.
- constitution.md: version is 1.0.0, not 1.2.0. Aligned to the actual
  version in .specify/memory/constitution.md.

Addresses PR #256 review feedback from @yvonnedevlinrh.

Signed-off-by: Joshua Flowers <josh@unboundforce.dev>
Assisted-by: claude-opus-4-6
- council-review-action-tutorial.md: add note that 9 is the default
  uf init --divisor count; action discovers all divisor-*.md files
  dynamically, so repos with custom personas run all of them.
- council-review-action.md: same clarifying note in persona discovery
  section.
- council-review-action-tutorial.md: add Workload Identity Federation
  (WIF) subsection in Step 5 as recommended auth pattern for org
  members using Vertex AI. Keeps static secrets as BYOK fallback.

Addresses PR #256 review feedback from @yvonnedevlinrh.

Signed-off-by: Joshua Flowers <josh@unboundforce.dev>
Assisted-by: claude-opus-4-6
@jflowers

Copy link
Copy Markdown
Contributor Author

Addressing review feedback:

1. ci.md deployment claim — Addressed in f4b0839. Updated convention-packs.md to correctly list ci.md, ci-custom.md, content.md, and content-custom.md as always-deployed packs, matching the upstream scaffold.go:alwaysDeployedPacks definition.

2. Constitution version mismatch — Addressed in f4b0839. Changed v1.2.0v1.0.0 in constitution.md to match the actual version in .specify/memory/constitution.md.

3. Persona count mismatch — Addressed in 6349080. The count of 9 is correct for uf init --divisor (the canonical deployment). The 2 additional files in this repo (divisor-pr.md, divisor-techwriter.md) are website-local custom personas. Added clarifying notes to both the tutorial and reference page explaining that the action discovers all divisor-*.md files dynamically, so repos with custom personas run all of them automatically.

4. WIF guidance gap — Addressed in 6349080. Added a "Google Cloud Vertex AI with Workload Identity Federation (Recommended)" subsection in Step 5 of the tutorial. WIF is presented as the recommended pattern for org members, with static secrets retained as a BYOK/external fallback.

5. #142 review-infra enhancements — The PR body acknowledges #142 as PARTIAL. The remaining enhancements (workflow YAML examples, troubleshooting guides, advanced configuration) warrant a dedicated follow-up PR. Issue #142 stays open to track this work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Ready for Review 👀

Development

Successfully merging this pull request may close these issues.

docs: ci.md convention pack for CI workflow authoring

3 participants