Skip to content

v0.2.2 cARL draws his family tree

Choose a tag to compare

@goldjg goldjg released this 19 Jun 12:01
· 33 commits to main since this release
55541b7

v0.2.2 β€” cARL draws his family tree 🌳

Until now, cARL could understand the repository in front of him.

With this release, cARL can also preserve knowledge from the systems that came before him.

This release introduces carl convert aadlc, a migration command for bringing durable AADLC knowledge into canonical cARL artefacts without losing the context your repository already paid to learn.

What's New

carl convert aadlc

carl convert aadlc migrates durable governance knowledge from legacy AADLC repositories into cARL.

It can discover AADLC artefacts from:

.aadlc/
.github/aadlc/
aadlc/
AADLC.md

and classify migrated knowledge as:

  • Invariants
  • Durable memory
  • Governance rules

Migrated content is routed into:

.github/carl/invariants.yml
.github/carl/memory.md

Safety Semantics

carl convert aadlc is deliberately conservative:

  • Defaults to --dry-run
  • Requires --apply to write changes
  • Never modifies or deletes AADLC artefacts
  • Never overwrites existing cARL knowledge
  • Skips duplicates
  • Reports conflicts for human review
  • Fails safely on malformed generated-section markers
  • Produces deterministic, idempotent output

In short: cARL can inherit the family papers without scribbling over them in crayon.

Why This Matters

AADLC was the ancestor.

cARL is the runtime.

convert is the bridge between them.

AADLC durable knowledge
        ↓
carl convert aadlc
        ↓
cARL canonical artefacts
        ↓
carl harness sync
        ↓
Agent-ready governance

This means adopting cARL does not create accidental amnesia.

Existing lessons, constraints, and repo-specific governance can come along for the ride.

What's Changed

  • Implement carl convert aadlc by @goldjg with @Copilot in #15

Full Changelog: v0.2.1...v0.2.2