generated from coulomb/repo-seed
Replaces the monolithic project_claude_md.template with a directory of
7 focused rule files in scripts/project_rules/. register_project.sh now
generates .claude/rules/*.md + a thin CLAUDE.md index of @-imports,
matching the pattern established in ops-bridge.
Template files:
claude-md.template — 9-line @-import index
repo-identity.template — purpose, domain, slug, topic ID (machine-gen)
session-protocol.template — orient/inbox/workplans/brief/close (machine-gen)
first-session.template — bootstrap flow; delete once past FSP
workplan-convention.template— prefix, location; delegates to global CLAUDE.md
stack-and-commands.template — language/deps/commands (stub, manual)
architecture.template — design overview (stub, manual)
repo-boundary.template — what this repo does NOT own (stub, manual)
register_project.sh changes:
- Generates .claude/rules/ from templates with variable substitution
- Writes thin CLAUDE.md if none exists; appends suggestion comment if one does
- Step 7: auto-registers this machine's local path via POST /repos/{slug}/paths/
- project_claude_md.template deprecated to a redirect notice
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
49 lines
1.6 KiB
Plaintext
49 lines
1.6 KiB
Plaintext
## Session Protocol
|
|
|
|
State Hub: http://127.0.0.1:8000
|
|
|
|
**Step 1 — Orient**
|
|
```
|
|
get_domain_summary("{DOMAIN}")
|
|
```
|
|
If offline: `cd ~/the-custodian/state-hub && make api`
|
|
|
|
**Step 2 — Check inbox**
|
|
```
|
|
get_messages(to_agent="{REPO_SLUG}", unread_only=True)
|
|
```
|
|
Mark read with `mark_message_read(message_id)`. Reply or act on coordination
|
|
requests before proceeding.
|
|
|
|
**Step 3 — Scan workplans**
|
|
```bash
|
|
ls workplans/
|
|
```
|
|
For each file with `status: active`, note pending `todo`/`in_progress` tasks.
|
|
|
|
**Step 4 — Present brief**
|
|
|
|
1. **Active workstreams** for `{DOMAIN}` — title, task counts, blocking decisions
|
|
2. **Pending tasks** from `workplans/` + any `[repo:{REPO_SLUG}]` hub tasks
|
|
3. **Goal guidance** — if `goal_guidance` in summary:
|
|
- `needs_workplan`: surface as top action — *"Repo goal '{title}' has no workplan yet"*
|
|
- `alignment_warnings`: flag if active work is not aligned with current goal
|
|
4. **Suggested next action** — highest-priority open item
|
|
5. **SBOM status** — flag if `last_sbom_at` is unset for this repo
|
|
|
|
If no workstreams: follow First Session Protocol (`first-session.md`).
|
|
|
|
**During work:** `record_decision()` · `add_progress_event()` · `resolve_decision()`
|
|
|
|
> State Hub is a *read model*. Bootstrap tools (`create_workstream`, `create_task`)
|
|
> are First Session Protocol only. Work structure belongs in repo files (ADR-001).
|
|
|
|
**Session close:**
|
|
```
|
|
add_progress_event(summary="...", topic_id="{TOPIC_ID}", workstream_id="<uuid>")
|
|
```
|
|
If workplan files were modified:
|
|
```bash
|
|
cd ~/the-custodian/state-hub && make fix-consistency REPO={REPO_SLUG}
|
|
```
|