Skip to content

docs: spec-system v0.1 design (layered spec architecture)#100

Merged
sungjunlee merged 1 commit into
mainfrom
spec-system-design
May 23, 2026
Merged

docs: spec-system v0.1 design (layered spec architecture)#100
sungjunlee merged 1 commit into
mainfrom
spec-system-design

Conversation

@sungjunlee
Copy link
Copy Markdown
Owner

@sungjunlee sungjunlee commented May 23, 2026

Design doc capturing the chosen architecture for extending CHARTER into a layered spec system that survives multi-day autonomous agent execution.

Summary

  • Tier M (right-sized) selected after brainstorm + research pass + /gstack-plan-eng-review
  • Zero new skills, single new file family (`spec/capabilities.md`), two new scripts
  • Strangler-fig path to L tier preserved but not paved
  • Three research findings load-bear the design (Goodhart 4-mode, control theory, immutability discipline)

What lands now

  • `docs/spec-system-design.md` (202 lines) — full design capture

What lands in follow-up PRs (3-PR plan)

  1. PR-1: template (`templates/capabilities.md`) + `backlog-charter` SKILL.md `grill` mode
  2. PR-2: brownfield bootstrap (`scripts/extract-signals.js` + tests)
  3. PR-3: live-update wiring (cross-repo: dev-backlog `component-lint.js` + dev-relay `append-learnings.js` + relay-merge hook)

CHARTER alignment

Advances O3 + O4 (status stays `active` — needs independent-project proof per Tier 2). O5 stays deferred; `## Learnings` is its manual precursor.

Test plan

  • Doc reads in <5 min
  • All five locked architecture decisions traceable to either research finding or eng-review finding
  • Each NOT-in-scope item has a promotion trigger (no orphan deferrals)
  • Dogfood: write `spec/capabilities.md` for dev-backlog itself once PR-1 lands

🤖 Generated with Claude Code

Summary by CodeRabbit

릴리스 노트

  • Documentation
    • 시스템 설계 및 아키텍처에 관한 상세 명세 문서 추가
    • 기능 범위, 제약사항, 의사결정 과정 및 학습 내용을 구조화하여 문서화

Review Change Stack

Captures the architecture chosen after a brainstorm + research pass + eng
review for extending CHARTER into a layered spec system that survives
multi-day autonomous agent execution.

Selected tier: M (right-sized) — zero new skills, single new file family
(spec/capabilities.md), two new scripts (extract-signals + append-learnings).
Strangler-fig path to L tier preserved but not paved.

Three research findings load-bear the design: the 3-mode failure taxonomy
(misspecification / goal misgeneralization / adversarial Goodhart), the
control-theory framing (CHARTER as setpoint, ## Learnings as minimum
viable sensor), and immutability-after-acceptance as the universal stability
discipline across spec frameworks.

Implementation plan is 3 PRs: template + grill-mode SKILL extension,
brownfield bootstrap (extract-signals.js), live-update wiring (cross-repo
with dev-relay). Dogfood targets: dev-backlog itself, then dev-relay.

CHARTER alignment: advances O3/O4 (still active — needs independent-project
proof before status advance); O5 stays deferred but Learnings is its
manual precursor.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 23, 2026

개요

새로운 문서 docs/spec-system-design.md가 자율 에이전트의 지속적 진화를 지원하는 레이어드 프로젝트 스펙 시스템의 아키텍처를 정의한다. CHARTER를 1티어(북극성)로 유지한 채, 캡빌리티별 Goal/Scope/Behaviors/HardConstraints와 구조적 Learnings 채널, append-only Decisions로 구성된 2~3티어 설계를 제시한다.

변경사항

레이어드 스펙 시스템 설계 문서

계층 / 파일 요약
문제 정의 및 설계 목표
docs/spec-system-design.md (lines 1–35)
CHARTER와 작업 목록 사이의 캡빌리티 단위 계약 부재, 학습 재유입 미지원이라는 간극을 식별하고, 브라운필드 호환성, 학습 채널, grill-me 모드, 단순성을 목표로 설정하며 초기 과다 분할과 자기 편집을 배제한다.
핵심 아키텍처 및 계층 규율
docs/spec-system-design.md (lines 38–106)
3티어 구조(CHARTER 1티어, spec/capabilities.md 2~3티어), 계층별 mutation discipline 표, 단일 파일 유지 조건, 실패 분류(미스펙/목표 오해/Adversarial Goodhart), 제어이론 센서 역할, grill 모드 3축 predicate 테스트 기준을 정의한다.
구현 계획 및 범위 경계
docs/spec-system-design.md (lines 108–163)
3개 PR 단계 실행 계획(템플릿/브라운필드 추출/라이브 배선), 도그푸드 검증 순서, "NOT in scope" 항목별 유보 사유 및 승격 트리거, 구현 후 오픈 질문(명명/임계값/component 태그 규정)을 문서화한다.
확장 경로 및 검증 체계
docs/spec-system-design.md (lines 166–202)
L티어 마이그레이션(컴포넌트 분리, ADR 디렉터리, 적대적 grill 서브에이전트), dev-backlog/dev-relay 도그푸드 적용, CHARTER 정렬 셀프체크(O3~O6 게이팅)를 정의한다.

예상 검토 난이도

🎯 3 (Moderate) | ⏱️ ~20분

밤새워 쓴 스펙 문서, 🐰
에이전트의 손으로 자라나는 설계
레이어별 규율과 학습의 채널 열리고
북극성은 흔들리지 않으며
미래는 계획된 진화로 나아간다.

🚥 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 풀 리퀘스트 제목은 변경 사항의 주요 내용을 명확하게 설명하고 있으며, 레이어드 스펙 시스템 설계 문서 추가라는 핵심 변경 사항을 정확히 반영하고 있다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ 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 spec-system-design

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.

Copy link
Copy Markdown

@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.

🧹 Nitpick comments (2)
docs/spec-system-design.md (2)

110-110: 💤 Low value

코드 블록에 언어 지정자 추가를 고려하세요.

구현 계획 다이어그램에도 언어 지정자(예: text)를 추가하면 린터 경고를 해결할 수 있습니다.

♻️ 제안된 수정
-```
+```text
 PR-1: template + SKILL.md extension (no executable code)
🤖 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/spec-system-design.md` at line 110, Update the fenced code block that
contains "PR-1: template + SKILL.md extension (no executable code)" to include a
language specifier (e.g., change the opening fence to ```text) so the linter
warning is resolved; locate the code fence in docs/spec-system-design.md and
replace the opening ``` with ```text for that block.

40-40: 💤 Low value

코드 블록에 언어 지정자 추가를 고려하세요.

마크다운 린터가 펜스드 코드 블록에 언어 지정을 권장합니다. 디렉터리 구조 다이어그램이므로 text 또는 빈 문자열을 사용할 수 있습니다.

♻️ 제안된 수정
-```
+```text
 repo/
 ├─ CHARTER.md                ← Tier 1 (frozen-ish, 5-min read, north star)
🤖 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/spec-system-design.md` at line 40, The fenced code block containing the
directory diagram in docs/spec-system-design.md currently has no language
specifier; update the opening fence from ``` to ```text (or another appropriate
language like an empty string) so the Markdown linter recognizes it as plain
text and preserves formatting—locate the fenced block that starts with the
"repo/" tree and change the fence to include the language identifier.
🤖 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.

Nitpick comments:
In `@docs/spec-system-design.md`:
- Line 110: Update the fenced code block that contains "PR-1: template +
SKILL.md extension (no executable code)" to include a language specifier (e.g.,
change the opening fence to ```text) so the linter warning is resolved; locate
the code fence in docs/spec-system-design.md and replace the opening ``` with
```text for that block.
- Line 40: The fenced code block containing the directory diagram in
docs/spec-system-design.md currently has no language specifier; update the
opening fence from ``` to ```text (or another appropriate language like an empty
string) so the Markdown linter recognizes it as plain text and preserves
formatting—locate the fenced block that starts with the "repo/" tree and change
the fence to include the language identifier.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8bcd9af7-f609-4e1e-8d6b-1e9bb509c20a

📥 Commits

Reviewing files that changed from the base of the PR and between 2846f09 and c015007.

📒 Files selected for processing (1)
  • docs/spec-system-design.md

@sungjunlee sungjunlee merged commit 7773a92 into main May 23, 2026
2 checks passed
@sungjunlee sungjunlee deleted the spec-system-design branch May 23, 2026 10:17
This was referenced May 23, 2026
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