Command line#
Verb |
Habitat |
Does |
|---|---|---|
|
all |
open a sitting: doctor, cards, due, island, recall, timeline, claim; stops at the first store down; the name defaults to |
|
all |
close a sitting: remember, fire the island, complete, learn |
|
consensus, pack |
trust rows from the project’s voting history (Dawid-Skene accuracy) |
|
pack |
one lesson, stored as written; as a persona, it carries that persona’s entity and opens its next brief |
|
pack |
one standing preference |
|
pack |
tombstone a claim, naming the deed that withdrew it |
|
pack |
ranked claims with how many scorers named each and its age; |
|
tracker, deed store, pack |
the logbook, the cited deeds and the activated memories as one dated list, oldest first, each line with its age and the gap since the one before |
|
pack |
the pairs where a later claim rewrites an earlier one; |
|
pack, landscape |
candidate contradictions by geometry: the lowest passes between single memories in the embedding landscape, from the optional |
|
pack |
the claims this seat’s memory turns on, highest first: a weighted PageRank over the links |
|
pack |
the memories a task activates: search hits spread along the links; |
|
pack |
claims whose review is due, unreviewed ones first, then one line on the clock |
|
pack |
one review graded |
|
pack |
one trust row; scoped when |
|
pack |
a voter with a view; |
|
pack, tracker |
what a subagent playing the persona starts from: view, what the seat knows on its domains, the working set |
|
pack, tracker |
one brief per persona as |
|
tracker, pack |
reweigh voters by what turned out right: by default each voter’s record of hits and misses as log-odds weights; |
|
deed store |
intact; still the tip |
|
tracker |
cite a deed on a node, or list citations |
|
tracker |
the working set |
|
tracker |
cast, as the seat or as a persona, or read the tally |
|
pack |
forecast the others’ shares; two or more and |
|
pack |
argv law: a glob over the command line the hook and |
|
consensus, tracker |
settle under the pack’s rows that apply to the issue, with every persona’s anchor; an issue tagged |
|
claim graph |
a session node for a tracker id; a busy refusal names what the name still holds; a node this name holds is a sitting resumed |
|
claim graph |
hand the session node back unfinished: ready, generation moved |
|
claim graph |
finish the session node |
|
cards |
print |
|
policy, pack |
the line as it would run, the verdict of a matching rule, then what the pack knows that bears on it |
|
pack |
the memory hook: hook JSON or argv on stdin; the hits scoring at least 0.6 of the best that two scorers named, preferences first then lessons oldest first, each with its age, five at most, each once per runner session |
|
all |
pack, seal, sign; |
|
all |
check, and import the atoms |
|
all |
which habitats answer, and whether the harnesses found are onboarded |
|
none |
print the sitting protocol |
|
runner |
register |
A tracker id maps to one claim-graph node (FNV-1a 128 of the id) and a name to one actor; a 32-hex id passes through.
Model Context Protocol (MCP) tools#
Writers: ljos_sitting, ljos_finish, ljos_calibrate, ljos_persona, ljos_remember, ljos_prefer, ljos_forget, ljos_trust,
ljos_learn, ljos_graded, ljos_island, ljos_deed, ljos_vote, ljos_predict, ljos_rule, ljos_claim,
ljos_release, ljos_complete, ljos_consolidate, ljos_handover, ljos_receive. Readers: ljos_search (with as_of), ljos_conflicts,
ljos_timeline, ljos_due, ljos_evidence, ljos_current, ljos_recall,
ljos_consensus, ljos_brief, ljos_cards, ljos_policy, ljos_doctor. Resources:
ljos://protocol, ljos://cards/USER.md, ljos://cards/MEMORY.md. Prompts:
start_a_sitting, run_a_panel, check_a_handover. Every tool description opens with
when to call it.
Environment#
Variable |
Read by |
|---|---|
|
the pack client; unset, |
|
the pack workspace; unset, |
|
the tracker |
|
the deed store; the key signs handovers, and |
|
the claim graph |
|
the server’s cards directory |
|
where |
A runner’s table in harnesses.toml may name hooks, a JSON settings
file of the shape {"hooks": {"<Event>": [{"matcher": "...", "hooks":
[{"type": "command", "command": "..."}]}]}}. onboard merges
ljos hook into it on the prompt and session-end events (matcher *) by
default, or on the events the table’s hook_events lists (PreToolUse
takes the matcher Bash), once each, and drops it from events no longer
listed. On SessionEnd the hook fires the memories it injected during the
session together and clears the session’s record. The hook reads the runner’s JSON on stdin
(hook_event_name, tool_input.command, prompt) and answers
{"hookSpecificOutput": {"hookEventName": ..., "additionalContext": ...}},
or nothing when the pack holds nothing on the cue. Plain text on stdin is
read as an argv line and answered in plain lines, which is the shape a
policy daemon takes.
The learning rules#
After an outcome, every voter whose ballot it refuted shrinks in every
other voter’s row by beta (default 0.5), floored at 0.01. A vindicated
voter keeps its weight, and a missing row starts at 1. Rows are written
complete, so the settle sees the whole graph. The update is the
multiplicative weights rule of Hedge (doi:10.1006/jcss.1997.1504).
A row carries the domains it is scoped to. An unscoped row applies to
every issue; a scoped row applies when one of its domains is a word of the
issue’s title. learn writes its rows scoped to the entities of the island
the issue’s title activates, eight at most, so a voter refuted on one topic
keeps its standing on the rest; a scoped learn starts from the unscoped row
when it has none of its own and leaves the unscoped row standing. When
both apply, the scoped row is the one the settle sees. With --share S
every row then moves toward one by S of the gap, the fixed-share rule
of Herbster and Warmuth (doi:10.1023/A:1007424614876), so a voter refuted
long ago is not held down forever and the best voter can change; the
default is zero, plain Hedge. An outcome also
moves the anchor of every persona it refuted toward one by 1 - beta of
the gap: a persona that keeps being wrong listens more.
A persona is a persona atom: a name, an anchor in [0, 1], a view, and the
domains it speaks to. consensus passes every persona’s anchor to both
settles as --susceptibility-of; at 0 the persona never moves off its
ballot and pulls the rest toward it (Acemoglu, Como, Fagnani and Ozdaglar,
doi:10.1287/moor.1120.0570), at 1 it is a plain voter.
Without an outcome, calibrate estimates each voter’s accuracy from the
project’s issues with two or more ballots by expectation maximisation over
the items’ hidden answers (Dawid and Skene, doi:10.2307/2346806), then
writes each accuracy, floored at 0.01, as the weight every other voter
gives that voter. That is the weight a linear opinion pool assigns a source
believed that reliable (Genest and Zidek, doi:10.1214/ss/1177013825).
Crates#
Crate |
Carries |
|---|---|
|
the library and |
|
the MCP server |
|
DeGroot and Friedkin-Johnsen settles, Seldon export (separate repository) |