Skip to content

ci: documentation-boundary rule; capture .env-deploys-to-fabric - #59

Merged
heskew merged 1 commit into
mainfrom
review-scopes/documentation-boundary
Apr 23, 2026
Merged

ci: documentation-boundary rule; capture .env-deploys-to-fabric#59
heskew merged 1 commit into
mainfrom
review-scopes/documentation-boundary

Conversation

@heskew

@heskew heskew commented Apr 23, 2026

Copy link
Copy Markdown
Member

Summary

Two related tunings driven by the #55 review rounds (the env-vars docs PR that went through multiple iterations of "re-explain Harper mechanics vs point at Harper docs").

1. Documentation-boundary rule

Harper maintains authoritative docs at docs.harperdb.io covering core, pro, and fabric. App/plugin/sample repos should:

  • Document what's specific to the component (env var names, config shape, setup flow, integration API)
  • Link to Harper docs for anything not component-specific (deployment mechanics, runtime env vars, Fabric config, core behavior, SQL, replication)

Re-explaining Harper mechanics in repo docs creates drift — Harper updates its docs, the repo's copy doesn't.

Applied in parallel:

  • .github/review-scopes/harper/common.md — reviewer-facing: flag PRs that re-explain instead of link
  • .github/workflows/claude-mention.yml + .github/workflows/claude-issue-to-pr.yml — author-facing: same principle for agents writing or revising docs

2. Capture .env-deploys-to-fabric fact

The last review round on #55 correctly flagged that a GitHub Actions env: block doesn't propagate to Fabric runtime, but left the path forward ambiguous because the actual mechanism (.env at app root is deployed alongside the component) wasn't in any layer. Adding it to harper/v5.md under Environment variables, plus a clarifying bullet on deploy credentials vs runtime secrets so future reviews don't re-derive the distinction.

Test plan

  • YAML parses for both workflow files
  • Dogfood: this PR's own review run applies the new common.md rule and picks up the .env-deploys-to-fabric context
  • Follow-up: the documentation-boundary principle is worth proposing as a HarperFast/skills rule for customer-facing authoring guidance — I'll draft a separate PR for that after this lands.

🤖 Generated with Claude Code

…fabric fact

Two related tunings driven by the #55 review rounds:

1. Establish a general "defer to Harper docs" rule for app/plugin/sample
   repos. Harper maintains authoritative docs at docs.harperdb.io
   covering core, pro, and fabric; repo docs that re-explain those
   mechanics drift out of sync when Harper updates. New section in
   harper/common.md tells reviewers to flag re-explanations; matching
   sections in claude-mention.yml and claude-issue-to-pr.yml prompts
   tell the authoring agent to prefer links over re-explanations.

2. Capture ".env at app root deploys with the component" in harper/v5.md.
   This is the fact the last review round needed but didn't have — the
   reviewer correctly flagged that a GitHub Actions env: block doesn't
   propagate to Fabric runtime, but without the ".env deploys" mechanism
   documented, the fix path was unclear. Also clarifies deploy
   credentials vs runtime secrets so future reviews don't have to
   re-derive the distinction.

The documentation-boundary rule is written reviewer-facing (review-scope)
and author-facing (workflow prompts) in parallel — same principle, two
audiences.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@heskew
heskew requested a review from a team as a code owner April 23, 2026 15:40
@claude

claude Bot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

No blockers found.

What I traced

common.md — new Documentation boundary section

  • Content is correct and consistent with how the rule is framed in v5.md
  • The "borderline calls" nuance (short factual reminders OK, whole-section duplication not) is useful — it prevents the rule from becoming an overcorrection that kills useful context
  • Placement at the end of the file is fine; it reads as additive to existing review checks

v5.md.env deploy fact + deploy credentials vs runtime secrets distinction

  • Verified against .harper-skills/harper-best-practices/rules/deploying-to-harper-fabric.md: the skill confirms CLI_TARGET* are loaded from .env via dotenv-cli before harperdb deploy_component . runs, and that CI deployments use GitHub secrets injected into the shell environment (not from .env). The deploy credentials vs runtime secrets distinction is accurate for the CI/CD case.
  • The harperdb deploy_component . deploys the current directory as the component, making the ".env ships with the component" claim plausible. The skill doesn't state this explicitly, though — if you have a Harper docs URL that confirms it, linking it here would both satisfy the new common.md rule and make the claim verifiable for future readers without first-hand context. Not a blocker given the author's domain authority, just a maintainability note.
  • The parenthetical "(Repo docs should still link to the Harper docs for the deployment mechanics...)" correctly scopes the linking obligation to user-facing docs rather than this reviewer-guidance file.

claude-issue-to-pr.yml / claude-mention.yml — Documentation scope boundary section

  • Identical text added to both workflow agent prompts — symmetric application is correct
  • Placement is well-chosen: after the Harper-specific paths guidance and before the commit/process sections in each file
  • YAML multiline string indentation is consistent throughout; no parse concerns
  • One minor asymmetry: the workflow prompt version ("LINK to the Harper docs rather than re-explaining") omits the "borderline calls" nuance from common.md. The workflows are guiding AI agents to default to linking, so being more conservative here is arguably right — but future-you may want to add a brief "short factual reminders are fine" caveat if agents start over-linking in practice.

@heskew
heskew merged commit 8526755 into main Apr 23, 2026
5 checks passed
@heskew
heskew deleted the review-scopes/documentation-boundary branch April 23, 2026 15:46
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