Skip to content

feat: the rings split derived from invented, not who typed it - #84

Open
khaneight wants to merge 1 commit into
feat/persona-firstfrom
feat/distilled-layer
Open

feat: the rings split derived from invented, not who typed it#84
khaneight wants to merge 1 commit into
feat/persona-firstfrom
feat/distilled-layer

Conversation

@khaneight

Copy link
Copy Markdown
Owner

Stacked on #83. You were right that the distinction was silly.

The diagnosis

The outer ring held compiled and extrapolated articles, and I was telling them
apart by filling one dot and outlining the other. That distinction did no work —
both are prose a language model wrote. Splitting on who typed it says
nothing about either.

What actually differs is whether the claims trace to a document. A compiled
article sets down what a source says; that is the same act as reading a corpus
into a trait. An extrapolated one asserts things no source contains.

So compilation moved into the middle ring

Source material documents the author wrote
Distilled traits and compiled articles — every claim traces to a document
Written only work that says something no source says

And you were right about the name too: persona was wrong for a ring holding
more than the persona. It's distilled; work became written, since
everything in the archive is the clone's work.

This also puts the mark where it belongs. The outer ring is the
machine-original work, so its colour already says so — the fill-versus-outline
hack from #81 is deleted. The safeguard got stronger by being structural instead
of decorative.

Two consequences that fell out

A compiled article's sources: edge is authorship, not citation — the
document is where its claims come from. Only an extrapolated article's
sources: stays a grounds citation, because following that as ancestry
would credit the corpus with prose it does not contain.

links no longer joins fixed layers. An article in either ring may link to
one in either, so its EDGE_KINDS entry declares from_layer: None rather than
asserting a pair that is not true — and the test skips what is not declared
instead of being loosened.

On the demo

One purple node. Which is honestly how much original work that clone has done.

543 tests, clippy and fmt clean. CLAUDE.md compressed under budget again — this
time by moving the export bullet's detail to docs/publishing.md, which now
covers all of it.

🤖 Generated with Claude Code

The outer ring held both compiled and extrapolated articles, and the page
told them apart by filling one dot and outlining the other. That
distinction was doing no work. Both are prose a language model wrote —
splitting on authorship says nothing about either.

What actually differs is whether the claims trace to a document. A
compiled article sets down what a source says; that is the same act as
reading a corpus into a trait, and it belongs beside the traits. An
extrapolated article asserts things no source contains.

So `Distilled` holds both the traits and the compiled articles, and
`Written` holds only work that no source contains. Which also puts the
mark where it belongs: the outer ring *is* the machine-original work, so
its colour already says so and the fill-versus-outline device is gone.

`persona` was the wrong name for the middle ring once it holds more than
the persona — it is `distilled` now, and `work` became `written`, since
everything in the archive is the clone's work.

Two consequences fell out. A compiled article's `sources:` edge is
*authorship* rather than a citation: the document is where its claims
come from. Only an extrapolated article's `sources:` is a `grounds`
citation, because following that as ancestry would credit the corpus with
prose it does not contain. And `links` no longer joins fixed layers —
an article in either ring may link to one in either — so its `EDGE_KINDS`
entry declares none rather than asserting a pair that is not true.

Co-Authored-By: Claude Opus 5 <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