Skip to content

update spec workflow to use repo-canonical two-layer model#1865

Merged
transphorm merged 2 commits intodevfrom
justin/update-skill-spec-goals-to-align
Mar 24, 2026
Merged

update spec workflow to use repo-canonical two-layer model#1865
transphorm merged 2 commits intodevfrom
justin/update-skill-spec-goals-to-align

Conversation

@transphorm
Copy link
Copy Markdown
Member

@transphorm transphorm commented Mar 24, 2026

Summary

  • Restore the two-layer spec model where repo files (specs/) are the canonical source and Linear documents are mirrored copies for cross-tool access
  • Previously specs were Linear-only (repo specs/ folder was marked deprecated); this reverses that decision so specs are version-controlled and agent-executable from the repo
  • Update /spec-from-audit skill to write specs to both repo and Linear

Changes

Docs/specs

  • CLAUDE.md — updated Specs & Planning section: specs live in both repo and Linear, repo is canonical; restored two-layer model (backlog in SPEC.md, plans in plans/)
  • app/AGENTS.md — point implementation specs to repo specs/ as canonical source
  • packages/mobile-sdk-alpha/AGENTS.md — same update

Config/infra

  • .claude/skills/spec-from-audit/SKILL.md — updated skill to write specs to repo first, then mirror to Linear document

Test Plan

  • Skill descriptions render correctly in Claude Code
  • No broken markdown links in updated files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Specs workflow revised: implementation specs are canonical in-repo, with synchronized mirrored documents in Linear linked to the issue for cross-tool review.
    • Guidance updated to require identical content between repo spec and Linear mirror and to link Linear docs to issues (not projects).
    • Planning protocol & PR sizing guidance adjusted; non-SDK/app-only work may remain Linear-only when appropriate.

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 24, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 28ee2c9b-6670-447b-bba4-17091dd171e3

📥 Commits

Reviewing files that changed from the base of the PR and between 56743ac and 341242c.

📒 Files selected for processing (7)
  • .claude/skills/spec-from-audit/SKILL.md
  • CLAUDE.md
  • specs/projects/sdk/workstreams/sdk-core/SPEC.md
  • specs/projects/sdk/workstreams/sdk-core/plans/SC-03-selfclient-adapter-assembly.md
  • specs/projects/sdk/workstreams/webview/SPEC.md
  • specs/projects/sdk/workstreams/webview/plans/WV-07-selfclient-proving-assembly.md
  • specs/projects/sdk/workstreams/webview/plans/WV-08-tunnel-proving-flow.md

📝 Walkthrough

Walkthrough

Updated spec/planning workflow: repo-based canonical markdown execution specs are created under specs/projects/sdk/workstreams/<scope>/plans/, and the spec-generation skill now also creates a mirrored Linear document linked to the Linear issue; Linear mirrors must match the repo file exactly.

Changes

Cohort / File(s) Summary
Spec-generation skill & workflow
.claude/skills/spec-from-audit/SKILL.md, CLAUDE.md
Skill and docs changed to produce two synchronized artifacts per Linear issue: a canonical repo spec at specs/projects/sdk/workstreams/<scope>/plans/<ID>-<slug>.md and a Linear document (created via mcp__linear-server__create_document) linked to the issue. Planning protocol and PR-size guidance updated.
Agent & architecture docs
app/AGENTS.md, packages/mobile-sdk-alpha/AGENTS.md
Documentation changed to treat the repo specs/.../plans/ path as the source of truth; Linear documents described as mirrored copies for tracking/discovery.
Workstream SPEC tables (formatting only)
specs/projects/sdk/workstreams/sdk-core/SPEC.md, specs/projects/sdk/workstreams/webview/SPEC.md
Minor table formatting/whitespace edits in active backlog tables; no semantic changes.
Plan markdown formatting
specs/projects/sdk/workstreams/sdk-core/plans/SC-03-selfclient-adapter-assembly.md, specs/projects/sdk/workstreams/webview/plans/WV-07-selfclient-proving-assembly.md, specs/projects/sdk/workstreams/webview/plans/WV-08-tunnel-proving-flow.md
Markdown table and snippet reformatting; WV-07 includes export additions in packages/mobile-sdk-alpha/src/browser.ts (adds ProvingState and reorders export syntax).
Code export adjustments (small)
packages/mobile-sdk-alpha/src/browser.ts, packages/webview-bridge/src/..., packages/webview-app/src/providers/SelfClientProvider.tsx
Reflowed/reformatted exports and imports; added ProvingState export and switched some exports to multiline blocks. Mostly syntactic/formatting changes with one small exported symbol addition.

Sequence Diagram(s)

sequenceDiagram
  participant Skill as .claude/spec-from-audit (skill)
  participant Repo as Git Repository
  participant LinearAPI as Linear API
  participant Issue as Linear Issue

  Skill->>Repo: create/update `specs/.../plans/<ID>-<slug>.md`
  Note right of Repo: canonical, version-controlled spec
  Skill->>LinearAPI: create Linear document (mcp__linear-server__create_document)
  LinearAPI->>Issue: attach document to Issue (issue parameter)
  LinearAPI-->>Skill: return document link/ID
  Skill->>Repo: update workstream `SPEC.md` backlog entry to reference plan
  Repo-->>Skill: confirm commit/push
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

codex

Suggested reviewers

  • shazarre

Poem

📋 Specs now live in git, mirrored in Linear's light,
Two echoes of truth, one committed, one in sight.
Plans penned in repo, versioned line by line,
Linear holds the mirror so reviewers can align. ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The PR description covers the main changes and rationale but lacks concrete testing evidence; the test plan contains only incomplete checkbox items without actual test results. Complete the test plan by documenting actual results for each item and add any additional verification steps taken to confirm the changes work as intended.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: shifting specs to a repo-canonical two-layer model, which aligns with all file changes in the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch justin/update-skill-spec-goals-to-align

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 and usage tips.

@transphorm transphorm changed the title update skills update spec workflow to use repo-canonical two-layer model Mar 24, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/skills/spec-from-audit/SKILL.md:
- Around line 38-42: Change the process so updating the workstream backlog row
is mandatory for every generated plan: when writing a plan to
specs/projects/sdk/workstreams/<scope>/plans/<ID>-<slug>.md via the Write tool,
always also create or update the corresponding workstreams/<scope>/SPEC.md
backlog row (do not use “if one exists” conditional); likewise, still create the
Linear document using mcp__linear-server__create_document linked to the issue
(not the project) so both repo file and cross-tool copy are produced and the
workstream SPEC.md always reflects the new backlog entry.

In `@CLAUDE.md`:
- Line 65: Resolve the PR size policy conflict by making the threshold in the
"5. **Then implement** — one spec = one PR ≤2k LOC" line consistent with the
"Key Rules" section; either replace "≤2k LOC" with the "1k–3k LOC" range used in
Key Rules or remove the specific numeric limit from the "Then implement" bullet
so it defers to Key Rules as the single authoritative threshold.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e5c4b580-322d-4df2-8b29-045d78783eb0

📥 Commits

Reviewing files that changed from the base of the PR and between 8947671 and 56743ac.

📒 Files selected for processing (4)
  • .claude/skills/spec-from-audit/SKILL.md
  • CLAUDE.md
  • app/AGENTS.md
  • packages/mobile-sdk-alpha/AGENTS.md

Comment thread .claude/skills/spec-from-audit/SKILL.md
Comment thread CLAUDE.md Outdated
@transphorm transphorm merged commit 692aaf3 into dev Mar 24, 2026
23 checks passed
@transphorm transphorm deleted the justin/update-skill-spec-goals-to-align branch March 24, 2026 20:42
@transphorm transphorm mentioned this pull request Mar 25, 2026
10 tasks
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