You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
emrg: a task template never asks whether a claim is the host's ruling or the agent's own proposal #2687
emrg/server/open_source_prompt.md tells a task what to read, how to implement, how to open a pull request and how to record its cycle. It never tells the task how to mark the provenance of a claim it writes into a project's own documents — whether the host decided it or the agent proposed it.
What that produces
Measured on 2026-11-03 in one host project's own task-session memory (not in this repository): within a single session the same fault appeared three times, in three different surfaces, and each time the host had to correct it.
An internal design concept was carried to the host as a two-option choice, when neither option was his to judge from the information he had.
A rule the agent had written itself was restated one round later as "the rule already agreed"; the host asked when it had been agreed, and the audit found only a "yes" given to a different question.
A whole section of self-authored limits — allowlists, quiet hours, rate caps — was carried forward as a product decision for a full round, until the host struck it out in one sentence.
The mechanism
Once a proposal sits in the agent's own context, the marker "I wrote this" is gone from it. The agent's own output is denser than the host's input, so its proposal becomes its own premise — and it then defends that premise as the host's requirement.
The evolution layer already answers this: a rule recorded as the host's must be a message that can be pointed at, by timestamp and text (scripts/find-host-message.py, and this repository's own rule for it). A task session does not receive that rule. It receives its task template, and the template is silent on the subject.
What the fix must satisfy
The rule states the test a claim passes before it is written as the host's: the message can be pointed at, with its instant and its text. A claim that cannot pass is written as a proposal, in wording that does not borrow a decision's authority.
It names where it binds: any document the task writes into the target project — a decisions file, a design document, an issue reply, a pull request body — not memory alone.
It does not duplicate an existing rule. The template already carries "a fact this cycle could not re-measure is reported as unmeasured" and "among notes the later stamp governs"; the missing rule is about authorship, not recency or measurability.
It is written in the template's own voice, into the section that owns the subject, and carries no history.
Activity
argszero commentedon Nov 3, 2026
Handled by #2688