Archetype 0.6¶
Archetype 0.6 is an intentional pre-1.0 boundary reset. It separates the generic ECS framework from three independently installable world libraries and removes APIs and persisted shapes that put domain behavior in the wrong owner. It also replaces the frozen parallel core-sync implementation with a separate, deliberately bounded teaching engine.
This is a clean break. There are no world-library import shims, dynamic runtime or world method aliases, deprecated world-library spellings, or automatic Research-ledger migration. Update an application to the canonical 0.6 surface before upgrading its environment.
Distribution layout¶
| Install | Owns |
|---|---|
archetype-ecs |
Generic ECS execution, storage, migration, commands, Activities, artifacts, evaluation, runtime, API, and CLI |
archetype-smol |
Synchronous in-memory Components, DataFrame Processors, atomic steps, and snapshot queries for education |
archetype-missions |
Coding-agent missions, sandboxes, sessions, transcripts, and trajectory evidence |
archetype-physical-ai |
Physical state, local policies, and hosted physical episodes |
archetype-research |
Generic AutoResearch values, ledger state, views, and workflow |
Install only the libraries an application uses, or install the complete
world-library stack with archetype-ecs[all]. Each world library depends on the
compatible framework release; world libraries do not depend on one another.
archetype-smol is independent and is not selected by archetype-ecs[all].
Synchronous surface reset¶
ArchetypeRuntime.sync(), SyncArchetypeRuntime, SyncRuntimeWorld, and
run_sync remain the supported blocking interface to the production runtime.
They execute the same async engine, command gate, storage, and lifecycle
contracts as the async handles.
The parallel archetype.core.sync engine and its root aliases are removed:
World, Processor, System, Store, SyncWorld, SyncProcessor,
SyncSystem, SyncStore, QueryManager, and UpdateManager. Applications
that need production semantics use the runtime facade. Educational code may
choose archetype-smol, whose smaller contract is intentionally not a drop-in
replacement.
Required source changes¶
Use family-qualified imports and explicit typed adapters:
| Removed pre-0.6 surface | 0.6 surface |
|---|---|
Domain values imported from archetype |
Import from archetype.missions, archetype.physical_ai, or archetype.research |
runtime.missions(...) or RuntimeMissions(...) |
Missions(runtime, ...) |
world.query_trajectory(...) or world.grade_trajectory(...) |
MissionWorld(world).query_trajectory(...) or .grade_trajectory(...) |
world.ingest_claude_transcript(...) or world.transcript_rows() |
MissionWorld(world).ingest_claude_transcript(...) or .transcript_rows() |
world.run_hosted_episode(...) |
PhysicalAI(world).run_hosted_episode(...) |
world.autoresearch(...) |
Research(world).autoresearch(...) |
CandidateContext |
ResearchCandidateContext |
archetype.episodes transcript and trajectory imports |
archetype.missions.trajectories |
| Research runner-state loading | archetype.missions.sessions.load_runner_sessions(...) |
World-library adapters are async in 0.6. A synchronous framework world does not grow domain methods when a library is installed.
Research ledger reset¶
Pre-0.6 Research ledgers are unsupported and are not migrated in place. Start a new 0.6 experiment ledger. If historical evidence matters, export it with the older release before upgrading and retain it as application-owned evidence.
The 0.6 ledger is deliberately generic:
RunStatusisRUNNING,SUCCEEDED, orFAILED; the runner-shapedBOOTING,STOPPING,STOPPED, andCRASHEDstates are gone.Experimentno longer persists repository URL or branch fields.Runno longer persists VM, harness, repository, branch, task, agent, workspace, or commit fields. It records the candidate world instead.BranchHeadrecords the incumbent candidate world rather than a Git commit.- SQLite coding-runner ingestion belongs to Missions and returns
RunnerSessionvalues.
Research can still optimize code. An application composes Missions and
Research through their public adapters and stores bounded coding evidence in
the opaque Research result envelope.
Episode ownership¶
There is no archetype-episodes distribution and no archetype.episodes
package:
- execution
EpisodeConfigandEpisodeResultremain inarchetype.world; - coding-session transcripts and trajectories live in
archetype.missions.trajectories; - hosted physical episodes live in
archetype.physical_ai; and - dataset episode identity remains in
archetype.evaluation.
Shared episode identifiers permit joins without inventing a universal episode facade.
Release unit¶
The 0.6 release is one coordinated set: five wheels and five source
distributions at version 0.6.0. Release evidence installs the base framework,
each individual library with the framework, and the complete stack from those
exact artifacts, plus Smol in isolation. A partial five-project publication is
not a completed release. Before the first release, register pending Trusted
Publishers for the four new
project names on both PyPI and TestPyPI. Registration preconfigures OIDC; it does
not reserve or claim a name, and each new name remains claimable until the first
successful OIDC publication creates the project on that registry. See
Repository harness for the exact, package-specific
OIDC identities and the direct-workflow bootstrap required for new projects.
Release publication also requires the live, pinned Biome scenario. The
release-only proof runs on the same approved, one-job ephemeral Apple Silicon
Mac used for Apple Container evidence. It fail-closes on the Darwin, build-tool,
and explicit-live prerequisites; builds and launches the checked-in Biome and
Flecs revisions in an active WindowServer/Metal session; waits for REST
readiness; proves the native mission plus durable Archetype evidence; and
closes the process and port. Before the native executable can start, a
runner-owned guardian acknowledges its isolated process group; parent EOF,
timeout, or cancellation then triggers independent TERM/KILL and loopback-port
closure proof. Since the release-workflow simplification, Biome and Apple
Container run at demand cadence as local scripts on the qualifying Mac
(make operational-demand-biome, then make operational-demand-apple)
rather than as a release job; their receipts are demand evidence with the
same installed-wheel binding, and the release evidence gate requires exactly
the release-cadence receipts. See
Repository harness for the current lane inventory.
For current architecture and installation contracts, continue with World libraries, Runtime, and API stability.