Skip to content

feat(clade): 8-phase lifecycle status + CLADE- autolink resolver - #38

Merged
hyperpolymath merged 1 commit into
mainfrom
feat/clade-lifecycle-status
Jun 24, 2026
Merged

feat(clade): 8-phase lifecycle status + CLADE- autolink resolver#38
hyperpolymath merged 1 commit into
mainfrom
feat/clade-lifecycle-status

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Adds the lifecycle layer on top of the clade taxonomy (ADR 0002 fixed where a repo sits; this fixes what life-phase it's in). Part of the owner-ratified clade/autolinks package.

Design principle

Identity and status are separate layers: uuid is immortal; phase is a mutable pointer to the current life-phase. Transitions are legal in both directions — no phase is terminal (extinct -> active is a valid "Gitassic Park" resurrection on the same uuid). A rename is not a phase change: the old binomial goes to aliases[], uuid+phase untouched.

Changes

  • verisim/schema/repo.vcl 1.1.0 — status enum replaced with the 8 phases (reserved incubating active dormant | merged superseded archived extinct); adds status_since, present (derived here/not-here), aliases[], merged_into, superseded_by, successors[], ended, and append-only status_history[].
  • verisim/schema/clade.vcl 1.1.0 — aggregate tensors realigned (present_count/active_count/dormant_count/ended_count).
  • .machine_readable/CLADE.a2ml[status] block exemplar (this repo's own declaration is the reference).
  • contractiles/must/clade-hygiene.a2ml — CLADE-004 (phase present), CLADE-005 (phase valid).
  • worker/src/index.js — new GET /c/:binomial route: resolves the estate-wide CLADE-<binomial> custom autolink (302 to the portal for humans; ?format=json for bots). Additive route; node --check clean.
  • ADR 0006 documents the decision and the stale->dormant / experimental->incubating / complete->active migration of the old enum.

Migration note

The previous 5-value enum (active stale archived experimental complete) is superseded. Existing repos get a [status] backfill via a separate idempotent farm sweep (defaults to active).

Testing

node --check src/index.js passes. The vitest suite was not run — this checkout has no node_modules. The route is purely additive and breaks no existing assertion (verified /nope -> 404 and endpoint tests by inspection).

🤖 Generated with Claude Code

Adds the lifecycle layer on top of the clade taxonomy (ADR 0006). Identity
(uuid) and status (phase) are separated: uuid immortal, phase a mutable
pointer; transitions legal in both directions (extinct->active is valid).

- repo.vcl 1.1.0: status enum -> 8 phases (reserved incubating active dormant
  | merged superseded archived extinct); + status_since, present (derived),
  aliases[], merged_into, superseded_by, successors[], ended, status_history[].
- clade.vcl 1.1.0: aggregate counts realigned (present/active/dormant/ended).
- CLADE.a2ml: [status] block exemplar (this repo's own declaration).
- clade-hygiene: CLADE-004 (phase present), CLADE-005 (phase valid).
- worker /c/:binomial: resolves the estate CLADE-<binomial> autolink (302 to
  portal, ?format=json for data). Additive; node --check clean. Suite not run
  (no node_modules in this checkout).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@hyperpolymath
hyperpolymath merged commit fa71fd6 into main Jun 24, 2026
7 of 16 checks passed
@hyperpolymath
hyperpolymath deleted the feat/clade-lifecycle-status branch June 24, 2026 15:51
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