Recipes

PkRelay 문서 통합: 17페이지에서 7페이지로, 리뷰어 에이전트로 검증

README 링크에서 발견 · today

Software & DevOpsWork & Operations

README와 문서를 1,756줄에서 520줄로 다시 작성한 뒤, 모든 주장을 팩트체크했습니다.

What they did

오너가 더 단순한 문서를 요청해서, 작성자는 기존 페이지를 편집하는 대신 README.md와 docs/를 처음부터 다시 작성했다. 이전: 17개 파일, 1,756줄. 첫 번째 패스 이후: 7개 파일, 621줄(-65%); 리뷰 수정 후 520줄. 새 구성은 README.md, docs/setup.md, docs/collaboration.md, docs/discovery.md, docs/monitoring.md, docs/architecture.md, docs/verification.md다. 병합은 의도적이었다: host.md + adapter.md는 setup.md가 되었고; collaboration.md는 collaboration, dependencies, attention, standing, orders, search 그리고 wake.md의 hub 측 규칙을 흡수했으며; discovery.md는 discovery와 wake를 흡수했고; monitoring.md는 dashboard, activity, analytics를 흡수했으며; verification.md는 verification과 dashboard-verification을 흡수했다. architecture.md는 352줄에서 57줄로 줄었고, Phase-1 설계 에세이 전체를 삭제했으며, 이는 설계 이력으로서 docs/superpowers에 남아 있다. 페이지 이름이 coordination.md가 아니라 collaboration.md인 이유는 날짜가 있는 회고가 collaboration.md를 링크하고 있어 변경되지 않아야 했기 때문이다. docs/superpowers/와 회고는 손대지 않았다. 코드 변경은 문서 링크 주석뿐이었다: Program.cs와 Build-PkRelay.ps1은 이제 analytics.md 대신 monitoring.md를 가리키고, ApplicationPorts.cs와 SqliteStore.Activity.cs는 activity.md를 monitoring.md로 연결하며, SqliteStore.Standing.cs는 standing.md를 collaboration.md로 연결한다. 어떤 테스트, .csproj, 설정 출력도 문서를 참조하지 않고, 어떤 테스트도 문서 텍스트를 읽지 않는다. 정확성은 이전 문서가 아니라 소스를 기준으로 확인했다: RelayHostBuilderExtensions, RelayAuthentication, HubNetwork, DiscoveryEndpoints, AnalyticsSnapshotService, AttentionOptions, OrderOptions, RelayLimits의 스크립트 플래그, hub 설정 및 기본값; RelayEndpoints와 DashboardEndpoints의 라우트; 어댑터 환경 변수와 CLI 플래그; RelayToolCatalog의 모든 도구 이름과 admin 플래그; TaskWorkflow, StandingOrders, AttentionSources, Views.sql의 도메인 규칙; 프로젝트 참조, grain 키, SQLite 테이블. 스크립트가 모든 Markdown 링크와 앵커를 검사했다. 그다음 별도의 리뷰어 에이전트가 약 30개의 주장을 소스와 대조해 확인했다. 그 발견 사항은 커밋 1c21adb에 반영되었다: setup.md의 반드시 수정해야 할 마이그레이션 섹션(schema 2 업그레이드, 마이그레이션 전 백업 파일, 최신 데이터베이스를 거부하는 구버전 hub, FTS5 요구 사항), REST envelope 및 상태 매핑 문구, collaboration.md의 신뢰할 수 없는 입력 경고, discovery.md의 변수 표, 그리고 collaboration.md를 198줄에서 102줄로 축소한 것.

How it went

클린 빌드에 경고 0개, 오류 0개입니다. 테스트: 594/605에서 595/605로, Windows 전용 SetupTests 10개만 실패하고 PR이 건드리지 않는 코드의 알려진 flake 하나가 있습니다. Core 테스트는 100/100입니다. 모든 Markdown 링크와 앵커가 해결되며, 회고의 collaboration.md도 포함됩니다. 리뷰어 에이전트의 발견 사항은 모두 두 번째 커밋에서 수정되었고, 최종 범위 내 총계는 1,756줄에서 520줄입니다.

Worth knowing

10개의 SetupTests 실패는 이번 변경으로 인한 것이 아니라 기존부터 존재하던 Windows 전용 베이스라인이며, NodeTests의 waiter 플레이크는 이전 단계에서부터 알려진 사항입니다. docs/superpowers/는 여전히 본문에서 이전 페이지 이름을 언급하고 있고, 의도적으로 설계 이력으로 남겨둔 것이므로 이제 새 문서 기준으로는 오래된 상태입니다. 리뷰어 에이전트는 모든 문장이 아니라 약 30개의 주장만 확인했으므로, 그 범위를 벗어난 기본값과 제한은 검증되지 않았습니다. 이 PR은 #12 위에 스택되어 있으며 해당 브랜치에 의존합니다.

Wiring

순서: 인벤토리와 병합 계획 먼저, 그다음 소스에서 재작성, 그다음 코드 문서 링크 수정, 그다음 링크 검사, 그다음 빌드 및 테스트, 그다음 두 번째 커밋에서 수정과 함께 리뷰어 패스.

설정 변경: 기능적으로는 없음. Program.cs, ApplicationPorts.cs, SqliteStore.Activity.cs, SqliteStore.Standing.cs, Build-PkRelay.ps1의 문서 링크 주석이 새 페이지 이름을 가리키도록 변경되었습니다. AdapterOptions.cs는 해당 페이지가 여전히 존재하므로 docs/discovery.md를 유지했습니다.

검증 명령: dotnet build PkRelay.slnx -c Release; dotnet test PkRelay.slnx -c Release --no-build; dotnet test tests/PkRelay.Core.Tests -c Release. 작은 스크립트가 README.md와 docs/*.md의 링크와 앵커를 순회했습니다.

재작성의 소스 오브 트루스: RelayHostBuilderExtensions, RelayAuthentication, HubNetwork, DiscoveryEndpoints, AnalyticsSnapshotService, AnalyticsOptions, AttentionOptions, OrderOptions, RelayLimits, RelayEndpoints, DashboardEndpoints, RelayToolCatalog, ToolSchemas, TaskWorkflow, OrderKinds, StandingOrders, AttentionSources, AttentionWeights, Views.sql, ApplicationPorts, CoordinationStateMachine, DiscoveryStateMachine, AnomalyMonitor, DueWorkDispatcher, SqliteStore.Initialize, SetupCommand 및 .csproj 파일들.

Try it yourself

I'll start by inventorying the repo. Let me look at what's actually here before proposing anything.

<||DSML|| calls>
<||DSML|| invoke name="bash">
<||DSML|| parameter name="command" string="true">pwd && ls -la && git log --oneline -5 2>/dev/null | head -20</||DSML|| parameter>
</||DSML|| invoke>
</||DSML|| calls>

Source

English

Tools in this stack