Skip to content

ESTATE_SPEC §1: add project to frozen valid-kinds list#40

Open
kody-w wants to merge 1 commit into
mainfrom
add-project-kind
Open

ESTATE_SPEC §1: add project to frozen valid-kinds list#40
kody-w wants to merge 1 commit into
mainfrom
add-project-kind

Conversation

@kody-w

@kody-w kody-w commented May 22, 2026

Copy link
Copy Markdown
Owner

Summary

Adds project to the frozen valid-kinds list in pages/docs/ESTATE_SPEC.md §1.

Why

The project kind is in active use today across operator devices — every project-anchored twin minted by the project-twin neighborhood layer ships with kind: "project" in its rappid.json. The AIBAST twin uses it; every twin hatched by kody-w/RAPP-Network/project_twin_agent.py uses it.

The current spec lists: twin, neighborhood, ant-farm, braintrust, workspace, hatched, rapplication, prototype, operator. project is missing.

kody-w/RAPP-Network/scripts/cross_validate.py is purpose-built to surface drift between RAPP-Network's spec and the upstream ESTATE_SPEC frozen-kinds list. It currently emits a WARN for exactly this drift:

== kind values ==
  [WARN] project (upstream: ant-farm, braintrust, hatched, neighborhood,
                  operator, prototype, rapplication, twin, workspace)

Merging this PR clears the warning and makes the two sources-of-truth align.

Change

One line in pages/docs/ESTATE_SPEC.md. Adds project to the kinds list; bumps frozen as of from 2026-05-09 to 2026-05-22.

Why project (not retrofit to workspace)

  • workspace already has different semantics in existing usage.
  • project carries clear semantics: a brainstem twin anchored to and scoped against one project's directory tree.
  • Twin-aware tools (the canonical Twin agent, twin_egg_hatcher.list_twins, ProjectTwin.list) already special-case kind="project" for discovery filtering.

Test plan

  • scripts/cross_validate.py in kody-w/RAPP-Network should now pass with no WARN on kind.
  • No code changes — this is a spec amendment legitimizing existing canonical reality.

The `project` kind is in active use across operator devices today — every
project-anchored twin minted by the project-twin neighborhood layer ships
with `kind: "project"` in its rappid.json. Existing examples in the wild
include the AIBAST twin and every twin hatched by the canonical
@kody-w/RAPP-Network/project_twin_agent.py drop-in (see
https://github.com/kody-w/RAPP-Network).

This PR brings the spec to match that reality: adds `project` to the
frozen kinds list and bumps the "frozen as of" date to 2026-05-22.

The kody-w/RAPP-Network cross_validate.py script currently emits a
WARN for this exact drift; merging this PR clears the warning and
makes the two sources-of-truth (this repo + RAPP-Network) align.

Rationale for adding rather than retrofitting to `workspace`:
- `workspace` already implies a different scope (per the kind list's
  existing usage — a generic per-user workspace, not project-anchored).
- `project` carries clear semantics: "a brainstem twin anchored to and
  scoped against one project's directory tree."
- Twin-aware tools (the canonical Twin agent, twin_egg_hatcher's
  list_twins, ProjectTwin.list) already special-case kind="project"
  for discovery filtering.

No code changes required — this is a spec amendment to legitimize
existing canonical reality.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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