Skip to content

I3271 — plan.drift reports a source it could not observe as unknown, never as a drift finding

Each drift finding names whether its evidence was observed (merged PR read, branch read) and a finding whose source was not read is classed unknown, counted separately.

READY wave 2 · p2 · implementation profile · parallel safe

Part of truthful-plan-surfaces — The plan's surfaces are inferred from delivery, and nothing they show is typed beside the repository.

Ready. Every dependency is done, so majordomus plan start I3271 will be accepted.

Objective

Each drift finding names whether its evidence was observed (merged PR read, branch read) and a finding whose source was not read is classed unknown, counted separately.

Why

2026-10-16: adding observations cut merged_not_recorded from 23 to 8 in PR #1305, so most of the earlier findings were unobserved, not false. Sources: chatgpt-majordomus:c272#7.

Current state

plan.drift and merged_not_recorded live on I2741's branch, not master.

Desired state

Drift findings carry observed: true|false; the trunk gate (I2748) counts only observed findings red.

Scope

  • apps/majordomus-cli/src/plan.rs
  • apps/majordomus-cli/src/delivery
  • apps/majordomus-cli/tests/plan_drift.rs

Dependencies

Acceptance criteria

  • A fixture with an unread PR yields unknown, not drift

Validation

  • majordomus plan validate
  • majordomus intent validate

Evidence required

  • test_unobserved_is_not_drift

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I3271.yaml. Read it back with majordomus plan show I3271.

Searches the titles and descriptions of every page this site publishes.