Skip to content

feat(show): add current and archival projections#38

Merged
lucifer1004 merged 1 commit into
mainfrom
dev
Jul 21, 2026
Merged

feat(show): add current and archival projections#38
lucifer1004 merged 1 commit into
mainfrom
dev

Conversation

@lucifer1004

@lucifer1004 lucifer1004 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • show now defaults to a current view, omitting obsolete body content for deprecated/superseded RFCs, clauses, and ADRs.
    • Added --history to retrieve the complete archived body content.
    • Added/expanded structured output options (JSON, YAML, TOML); structured output always includes the complete resource.
    • --history is rejected with structured output.
  • Documentation
    • Updated guides, command help, and governance specifications with “current vs history” projection guidance.
  • Tests
    • Added CLI and lifecycle regression coverage for projection modes, lifecycle status display, and output-format rules.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@lucifer1004, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 40 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9ecf5ff2-45cf-44c9-9051-a9bc2c179d26

📥 Commits

Reviewing files that changed from the base of the PR and between 7e7e838 and 1f7dec9.

⛔ Files ignored due to path filters (15)
  • tests/snapshots/test_describe__describe_basic.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_in_initialized_project.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_active_work_item.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_draft_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_empty_project.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_impl_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_spec_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_test_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_proposed_adr.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_queued_work_items.snap is excluded by !**/*.snap
  • tests/snapshots/test_display_paths__render_rfc_display_path.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__adr_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__clause_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__rfc_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_lifecycle__bump_with_change.snap is excluded by !**/*.snap
📒 Files selected for processing (46)
  • .claude/skills/adr-writer/SKILL.md
  • .claude/skills/rfc-writer/SKILL.md
  • .claude/skills/spec/SKILL.md
  • CHANGELOG.md
  • Cargo.toml
  • docs/guide/getting-started.md
  • docs/rfc/RFC-0000.md
  • docs/rfc/RFC-0001.md
  • docs/rfc/RFC-0002.md
  • docs/rfc/RFC-0003.md
  • docs/rfc/RFC-0004.md
  • docs/rfc/RFC-0006.md
  • docs/rfc/RFC-0007.md
  • gov/adr/ADR-0055-separate-current-show-projections-from-archival-rendering.toml
  • gov/releases.toml
  • gov/rfc/RFC-0002/clauses/C-SHOW-PROJECTION.toml
  • gov/rfc/RFC-0002/rfc.toml
  • gov/work/2026-07-20-expose-clause-lifecycle-status-in-rendered-output.toml
  • gov/work/2026-07-21-add-current-and-archival-show-projections.toml
  • src/cli/common/args.rs
  • src/cli/common/targets.rs
  • src/cli/help.rs
  • src/cli/resources/adr.rs
  • src/cli/resources/clause.rs
  • src/cli/resources/guard.rs
  • src/cli/resources/rfc.rs
  • src/cli/resources/work.rs
  • src/cmd/describe/catalog.rs
  • src/cmd/guard.rs
  • src/cmd/output.rs
  • src/cmd/output_tests.rs
  • src/cmd/render/show.rs
  • src/command_router/execute/mod.rs
  • src/command_router/mod.rs
  • src/command_router/plan.rs
  • src/command_router/tests/lock_disposition.rs
  • src/render/adr.rs
  • src/render/mod.rs
  • src/render/rfc.rs
  • src/render/tests/adr.rs
  • src/render/tests/mod.rs
  • src/render/tests/rfc.rs
  • src/render/work.rs
  • src/resource_plan/mod.rs
  • tests/lifecycle_tests/clause.rs
  • tests/test_show.rs
📝 Walkthrough

Walkthrough

This change adds current and archival projections to show, structured JSON/YAML/TOML output, lifecycle-aware rendering for obsolete content, complete --history and render output, updated governance documentation, and regression tests.

Changes

Show projection modes

Layer / File(s) Summary
Projection contract and governance records
.claude/skills/*, docs/guide/*, docs/rfc/*, gov/*, CHANGELOG.md, Cargo.toml
Defines current/archive projection rules, structured-output restrictions, lifecycle behavior, and YAML serialization support.
CLI show arguments and routing
src/cli/common/*, src/command_router/*, src/resource_plan/*, src/cli/help.rs, src/cli/resources/*, src/cmd/describe/catalog.rs
Adds ShowOutputFormat and --history, then forwards both through command planning and execution.
Show output dispatch and serialization
src/cmd/render/show.rs, src/cmd/guard.rs, src/cmd/output.rs, src/cmd/output_tests.rs
Separates structured serialization from human-readable projection rendering and rejects --history with structured formats.
Lifecycle-aware rendering and validation
src/render/*, src/render/tests/*, tests/test_show.rs, tests/lifecycle_tests/clause.rs
Adds projection-aware ADR, RFC, Clause, and work-item rendering and validates suppression, archival restoration, status ordering, and structured completeness.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CLI
  participant CommandRouter
  participant ShowHandler
  participant Renderer
  participant Output
  CLI->>CommandRouter: Submit show id, format, and history flag
  CommandRouter->>ShowHandler: Execute show request
  ShowHandler->>Renderer: Select Current or Archive projection
  Renderer-->>ShowHandler: Render projected content
  ShowHandler->>Output: Serialize structured or print human output
  Output-->>CLI: Return show result
Loading

Possibly related PRs

  • govctl-org/govctl#4: Extends the existing guard show path with projection, history, and structured-output handling.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: show commands now support current and archival projections.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/cmd/guard.rs (1)

111-157: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

--history has no effect on guard output — _projection is computed and discarded.

The Toml | Table | Plain arm computes RenderProjection::Archive/Current based on history but binds it to _projection and never passes it anywhere; print_toml(&guard.spec, ...) is called unconditionally. Unlike RFC/ADR/Work/Clause (src/cmd/render/show.rs), which thread the selected projection into render_*_with_projection, guard show silently ignores history for its only non-JSON/YAML output path. A user running govctl show guard <id> --history gets exactly the same output as without the flag, even though the flag passed validation (line 119) implying it should matter.

If guards genuinely have no lifecycle/obsolete state to suppress, the projection computation here is vestigial and should be removed (or the whole history acceptance for guard show should be reconsidered). If they do have such state, this needs to actually gate output like the other resource types.

🐛 Remove dead projection code, or wire it up
         ShowOutputFormat::Toml | ShowOutputFormat::Table | ShowOutputFormat::Plain => {
-            let _projection = if history {
-                RenderProjection::Archive
-            } else {
-                RenderProjection::Current
-            };
             print_toml(
                 &guard.spec,
                 DiagnosticCode::E1001GuardSchemaInvalid,
                 "Failed to serialize guard TOML",
                 id,
             )?;
         }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/cmd/guard.rs` around lines 111 - 157, Resolve the unused history behavior
in show_guard: either remove the vestigial RenderProjection computation and
reconsider accepting history for guards if guards have no archive state, or
thread the selected projection into the guard rendering path so --history
changes output consistently with the other resource show commands. Do not leave
_projection discarded while print_toml always renders guard.spec unchanged.
🧹 Nitpick comments (2)
docs/rfc/RFC-0002.md (1)

7-9: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Fix markdownlint MD028 (no-blanks-blockquote) violations.

The static analysis tool correctly flags these empty lines. Without a > prefix on the blank lines separating the metadata items, markdownlint parses them as broken or fragmented blockquotes rather than a single cohesive metadata block, which degrades visual rendering in some Markdown viewers.

  • docs/rfc/RFC-0002.md#L7-L9: Add a > prefix to the blank lines on line 7 and line 9.
  • docs/rfc/RFC-0000.md#L9-L9: Add a > prefix to the blank line.
  • docs/rfc/RFC-0001.md#L9-L9: Add a > prefix to the blank line.
  • docs/rfc/RFC-0003.md#L9-L9: Add a > prefix to the blank line.
  • docs/rfc/RFC-0004.md#L9-L9: Add a > prefix to the blank line.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/rfc/RFC-0002.md` around lines 7 - 9, Add a blockquote prefix to the
blank metadata-separator lines in docs/rfc/RFC-0002.md lines 7-9, including both
blank lines; apply the same change to the blank line at line 9 in
docs/rfc/RFC-0000.md, docs/rfc/RFC-0001.md, docs/rfc/RFC-0003.md, and
docs/rfc/RFC-0004.md, preserving the surrounding metadata content.

Source: Linters/SAST tools

docs/rfc/RFC-0007.md (1)

8-11: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Fix markdownlint warning (MD028).

There is a blank line between the blockquote lines which triggers a markdownlint warning. You can fix this by either removing the blank line or adding a > to it.

♻️ Proposed fix
 > **Owners:** `@govctl-org`
-
+>
 > **Tags:** `tui`
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/rfc/RFC-0007.md` around lines 8 - 11, Update the RFC metadata blockquote
around the Owners and Tags entries to remove the blank line or prefix it with
`>` so the blockquote remains contiguous and satisfies markdownlint MD028.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/lifecycle_tests/clause.rs`:
- Around line 919-938: Strengthen the ordering assertions in the lifecycle test
by explicitly asserting that each required status or supersession label is
present before comparing its position with the placeholder text. Apply this to
both deprecated_history and superseded_history, including the superseded-by
label, so missing labels fail rather than relying on Option ordering.

---

Outside diff comments:
In `@src/cmd/guard.rs`:
- Around line 111-157: Resolve the unused history behavior in show_guard: either
remove the vestigial RenderProjection computation and reconsider accepting
history for guards if guards have no archive state, or thread the selected
projection into the guard rendering path so --history changes output
consistently with the other resource show commands. Do not leave _projection
discarded while print_toml always renders guard.spec unchanged.

---

Nitpick comments:
In `@docs/rfc/RFC-0002.md`:
- Around line 7-9: Add a blockquote prefix to the blank metadata-separator lines
in docs/rfc/RFC-0002.md lines 7-9, including both blank lines; apply the same
change to the blank line at line 9 in docs/rfc/RFC-0000.md,
docs/rfc/RFC-0001.md, docs/rfc/RFC-0003.md, and docs/rfc/RFC-0004.md, preserving
the surrounding metadata content.

In `@docs/rfc/RFC-0007.md`:
- Around line 8-11: Update the RFC metadata blockquote around the Owners and
Tags entries to remove the blank line or prefix it with `>` so the blockquote
remains contiguous and satisfies markdownlint MD028.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a258ac19-a31a-4cad-a8d9-878f8f99906f

📥 Commits

Reviewing files that changed from the base of the PR and between d274082 and 444165f.

⛔ Files ignored due to path filters (15)
  • tests/snapshots/test_describe__describe_basic.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_in_initialized_project.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_active_work_item.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_draft_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_empty_project.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_impl_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_spec_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_test_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_proposed_adr.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_queued_work_items.snap is excluded by !**/*.snap
  • tests/snapshots/test_display_paths__render_rfc_display_path.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__adr_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__clause_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__rfc_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_lifecycle__bump_with_change.snap is excluded by !**/*.snap
📒 Files selected for processing (46)
  • .claude/skills/adr-writer/SKILL.md
  • .claude/skills/rfc-writer/SKILL.md
  • .claude/skills/spec/SKILL.md
  • CHANGELOG.md
  • Cargo.toml
  • docs/guide/getting-started.md
  • docs/rfc/RFC-0000.md
  • docs/rfc/RFC-0001.md
  • docs/rfc/RFC-0002.md
  • docs/rfc/RFC-0003.md
  • docs/rfc/RFC-0004.md
  • docs/rfc/RFC-0006.md
  • docs/rfc/RFC-0007.md
  • gov/adr/ADR-0055-separate-current-show-projections-from-archival-rendering.toml
  • gov/releases.toml
  • gov/rfc/RFC-0002/clauses/C-SHOW-PROJECTION.toml
  • gov/rfc/RFC-0002/rfc.toml
  • gov/work/2026-07-20-expose-clause-lifecycle-status-in-rendered-output.toml
  • gov/work/2026-07-21-add-current-and-archival-show-projections.toml
  • src/cli/common/args.rs
  • src/cli/common/targets.rs
  • src/cli/help.rs
  • src/cli/resources/adr.rs
  • src/cli/resources/clause.rs
  • src/cli/resources/guard.rs
  • src/cli/resources/rfc.rs
  • src/cli/resources/work.rs
  • src/cmd/describe/catalog.rs
  • src/cmd/guard.rs
  • src/cmd/output.rs
  • src/cmd/output_tests.rs
  • src/cmd/render/show.rs
  • src/command_router/execute/mod.rs
  • src/command_router/mod.rs
  • src/command_router/plan.rs
  • src/command_router/tests/lock_disposition.rs
  • src/render/adr.rs
  • src/render/mod.rs
  • src/render/rfc.rs
  • src/render/tests/adr.rs
  • src/render/tests/mod.rs
  • src/render/tests/rfc.rs
  • src/render/work.rs
  • src/resource_plan/mod.rs
  • tests/lifecycle_tests/clause.rs
  • tests/test_show.rs

Comment thread tests/lifecycle_tests/clause.rs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/rfc/RFC-0000.md`:
- Around line 8-11: Remove blank lines within the metadata blockquotes so each
RFC header remains contiguous: in docs/rfc/RFC-0000.md lines 8-11,
docs/rfc/RFC-0001.md lines 8-11, docs/rfc/RFC-0003.md lines 8-11,
docs/rfc/RFC-0004.md lines 8-11, and docs/rfc/RFC-0007.md lines 8-11 remove the
separator between Owners and Tags; in docs/rfc/RFC-0002.md lines 2-10 remove
separators between Version, Owners, and Tags.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: dce4d11d-0ccc-4778-bed1-1559d5b13c9a

📥 Commits

Reviewing files that changed from the base of the PR and between 444165f and 7e7e838.

⛔ Files ignored due to path filters (15)
  • tests/snapshots/test_describe__describe_basic.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_in_initialized_project.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_active_work_item.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_draft_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_empty_project.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_impl_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_spec_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_normative_test_phase_rfc.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_proposed_adr.snap is excluded by !**/*.snap
  • tests/snapshots/test_describe__describe_with_context_queued_work_items.snap is excluded by !**/*.snap
  • tests/snapshots/test_display_paths__render_rfc_display_path.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__adr_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__clause_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_help__rfc_root_help.snap is excluded by !**/*.snap
  • tests/snapshots/test_lifecycle__bump_with_change.snap is excluded by !**/*.snap
📒 Files selected for processing (46)
  • .claude/skills/adr-writer/SKILL.md
  • .claude/skills/rfc-writer/SKILL.md
  • .claude/skills/spec/SKILL.md
  • CHANGELOG.md
  • Cargo.toml
  • docs/guide/getting-started.md
  • docs/rfc/RFC-0000.md
  • docs/rfc/RFC-0001.md
  • docs/rfc/RFC-0002.md
  • docs/rfc/RFC-0003.md
  • docs/rfc/RFC-0004.md
  • docs/rfc/RFC-0006.md
  • docs/rfc/RFC-0007.md
  • gov/adr/ADR-0055-separate-current-show-projections-from-archival-rendering.toml
  • gov/releases.toml
  • gov/rfc/RFC-0002/clauses/C-SHOW-PROJECTION.toml
  • gov/rfc/RFC-0002/rfc.toml
  • gov/work/2026-07-20-expose-clause-lifecycle-status-in-rendered-output.toml
  • gov/work/2026-07-21-add-current-and-archival-show-projections.toml
  • src/cli/common/args.rs
  • src/cli/common/targets.rs
  • src/cli/help.rs
  • src/cli/resources/adr.rs
  • src/cli/resources/clause.rs
  • src/cli/resources/guard.rs
  • src/cli/resources/rfc.rs
  • src/cli/resources/work.rs
  • src/cmd/describe/catalog.rs
  • src/cmd/guard.rs
  • src/cmd/output.rs
  • src/cmd/output_tests.rs
  • src/cmd/render/show.rs
  • src/command_router/execute/mod.rs
  • src/command_router/mod.rs
  • src/command_router/plan.rs
  • src/command_router/tests/lock_disposition.rs
  • src/render/adr.rs
  • src/render/mod.rs
  • src/render/rfc.rs
  • src/render/tests/adr.rs
  • src/render/tests/mod.rs
  • src/render/tests/rfc.rs
  • src/render/work.rs
  • src/resource_plan/mod.rs
  • tests/lifecycle_tests/clause.rs
  • tests/test_show.rs
🚧 Files skipped from review as they are similar to previous changes (36)
  • src/render/tests/mod.rs
  • gov/work/2026-07-20-expose-clause-lifecycle-status-in-rendered-output.toml
  • gov/adr/ADR-0055-separate-current-show-projections-from-archival-rendering.toml
  • gov/work/2026-07-21-add-current-and-archival-show-projections.toml
  • src/resource_plan/mod.rs
  • docs/rfc/RFC-0006.md
  • Cargo.toml
  • src/cli/resources/rfc.rs
  • src/cli/resources/work.rs
  • src/cli/resources/adr.rs
  • src/cli/resources/clause.rs
  • src/command_router/plan.rs
  • gov/releases.toml
  • .claude/skills/spec/SKILL.md
  • src/cmd/output.rs
  • src/command_router/tests/lock_disposition.rs
  • CHANGELOG.md
  • src/cli/resources/guard.rs
  • docs/guide/getting-started.md
  • src/command_router/mod.rs
  • src/render/tests/adr.rs
  • src/cli/common/args.rs
  • src/command_router/execute/mod.rs
  • src/cmd/output_tests.rs
  • src/cli/help.rs
  • src/render/mod.rs
  • gov/rfc/RFC-0002/rfc.toml
  • src/render/tests/rfc.rs
  • gov/rfc/RFC-0002/clauses/C-SHOW-PROJECTION.toml
  • src/cmd/guard.rs
  • tests/test_show.rs
  • tests/lifecycle_tests/clause.rs
  • src/cmd/describe/catalog.rs
  • src/cli/common/targets.rs
  • src/render/rfc.rs
  • src/cmd/render/show.rs

Comment thread docs/rfc/RFC-0000.md
Comment on lines +8 to +11
> **Owners:** @govctl-org

> **Tags:** `core`, `schema`, `validation`, `lifecycle`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Keep RFC metadata blocks contiguous across all updated RFC documents.

The blank lines inside these blockquotes trigger markdownlint MD028. Remove the separators so each metadata header remains one contiguous blockquote.

  • docs/rfc/RFC-0000.md#L8-L11: remove the blank line between Owners and Tags.
  • docs/rfc/RFC-0001.md#L8-L11: remove the blank line between Owners and Tags.
  • docs/rfc/RFC-0002.md#L2-L10: remove the blank lines separating Version, Owners, and Tags.
  • docs/rfc/RFC-0003.md#L8-L11: remove the blank line between Owners and Tags.
  • docs/rfc/RFC-0004.md#L8-L11: remove the blank line between Owners and Tags.
  • docs/rfc/RFC-0007.md#L8-L11: remove the blank line between Owners and Tags.
🧰 Tools
🪛 markdownlint-cli2 (0.23.0)

[warning] 9-9: Blank line inside blockquote

(MD028, no-blanks-blockquote)

📍 Affects 6 files
  • docs/rfc/RFC-0000.md#L8-L11 (this comment)
  • docs/rfc/RFC-0001.md#L8-L11
  • docs/rfc/RFC-0002.md#L2-L10
  • docs/rfc/RFC-0003.md#L8-L11
  • docs/rfc/RFC-0004.md#L8-L11
  • docs/rfc/RFC-0007.md#L8-L11
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/rfc/RFC-0000.md` around lines 8 - 11, Remove blank lines within the
metadata blockquotes so each RFC header remains contiguous: in
docs/rfc/RFC-0000.md lines 8-11, docs/rfc/RFC-0001.md lines 8-11,
docs/rfc/RFC-0003.md lines 8-11, docs/rfc/RFC-0004.md lines 8-11, and
docs/rfc/RFC-0007.md lines 8-11 remove the separator between Owners and Tags; in
docs/rfc/RFC-0002.md lines 2-10 remove separators between Version, Owners, and
Tags.

Source: Linters/SAST tools

@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.16514% with 4 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/cmd/render/show.rs 96.96% 3 Missing ⚠️
src/cmd/guard.rs 94.44% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@lucifer1004
lucifer1004 merged commit 6cdee9e into main Jul 21, 2026
7 of 8 checks passed
@lucifer1004
lucifer1004 deleted the dev branch July 21, 2026 05:49
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