Skip to content

Authorship

The Authorship plugin records who wrote each section of each blueprint, a person or an agent, and which of an agent’s sections a person has reviewed. So you can see, for any blueprint, how much of it an agent wrote and no person stands behind yet. It is recorded, never guessed: no model and no style detection, only where each change was made. Off by default; eidos plugin enable authorship switches it on.

  • Authorship, a view in the Auxiliary Sidebar beside the open blueprint, leads with one figure under the blueprint’s title: the share of its words an agent wrote and no person has reviewed. A bar shows who wrote every word, with a legend of each share (Agent, waiting for review, Agent, reviewed, People, and Nobody claimed it) and a line saying what is left to review.
  • Under Sections, each section names its writer in plain words (Claude (agent), Grace Hopper (from Git), Nobody claimed it) and whether it is Waiting for review or Reviewed by someone. Mark reviewed on a section, and Mark all reviewed under the summary, mark an agent’s sections reviewed as the person at the page. With nobody chosen as the person at the page, the view says to choose who you are from the menu at the foot of the Activity Bar.
  • The plugin has nothing to set; its settings page says where the view is.

Each section of a blueprint (a heading and the text under it, down to the next heading) gets a writer from where its change was made:

  • A save from the page’s editor is the person at the page: the user this machine acts as, else the git identity matched to a listed user. A change made elsewhere before the save is not claimed by it.
  • An agent writes into the file directly, so after each edit it makes to a blueprint it runs eidos authorship attribute <blueprint> --as <alias>, and the sections it changed are recorded as its own. The agent’s guide tells it to.
  • A change nobody claimed, such as a hand edit in another editor, is the git author’s when every line of the section is committed (the author of the latest commit among them, matched to a root user by email or name, read through the Git plugin), and nobody’s otherwise.

Detection compares hashes, never diffs. A section whose text is already recorded keeps its writer and its review, even when it moved. A section whose text changed takes the new writer and loses its review. Whitespace, HTML comments, and a tool’s regions are left out of the hash, so a reflow is not a change. A section holding nothing but a tool’s region, such as Tasks or a records list, is the tool’s and is not recorded.

A person stands behind an agent’s section by reviewing it: the agent stays its writer, and the section is marked reviewed by that person. A review is a person’s only, never an agent’s. A later change to the section clears it.

Terminal window
eidos authorship review B-PNSQ --section Intent --as grace # one section; without --section, every one waiting

For each blueprint, the plugin counts its words and the share of them in sections an agent wrote (agent), and in those no person has reviewed (agent_unreviewed). eidos authorship prints both, and eidos list --json carries them under plugins.authorship on each blueprint.

The record is one file, .eidos/plugins/authorship/snapshot.yaml, shared and committed so a team sees the same thing, and never inside a blueprint. It is a snapshot, not a log: for each blueprint by its id, each section by its heading path holds a hash of its text, its writer (a root user’s alias), or git (a git author no root user matches), or neither, and reviewed_by.

blueprints:
B-PNSQ:
Login > Intent:
hash: 29131ad07db3
writer: claude
reviewed_by: grace

A hash no blueprint holds any more is dropped, and a blueprint the root no longer has goes with it, so the file is only as large as the root’s text is now and nothing is written per change. Keys are sorted, so a change is a small diff. Only the CLI writes it; never edit it by hand.

  • .eidos/plugins/authorship/snapshot.yaml, shared: the snapshot above.

The plugin has no settings beyond its switch.

Terminal window
eidos authorship # every blueprint's share an agent wrote and no person reviewed
eidos authorship B-PNSQ # one blueprint, section by section, with each writer; --json
eidos authorship attribute B-PNSQ --as claude # what an agent runs after each edit it makes
eidos authorship review B-PNSQ --as grace # a person marks the agent's sections reviewed; --section <heading>

Every command takes --json. Without --as, EIDOS_USER names the user, else the user this machine acts as, else the git identity matched to a listed user; a name that is nobody is refused with the eidos users add command that adds one. Reading a blueprint re-hashes it, so a change nobody claimed is recorded the next time anything reads it.

An agent adds itself once with eidos users add "<Its name>" --alias <alias> --agent when eidos users does not list it, runs attribute --as <alias> after every edit, and never runs review: a review is a person’s.

Nothing: Authorship adds no finding to eidos check. Off, nothing is recorded, and the snapshot stays where it is.