I3314 — An object's read names the commit that last changed its file, and its page lists the commits that changed it
Add a read-only history projection to an object of the layer: the last commit, its date and the commits that touched the object's file (git log --follow, bounded), served on the entity read and its detail page, and computed from git rather than stored.
PŘIPRAVENO vlna 0 · p3 · profil implementation · bezpečné paralelně
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I3314 bude přijato.
Cíl
Add a read-only history projection to an object of the layer: the last commit, its date and the commits that touched the object's file (git log --follow, bounded), served on the entity read and its detail page, and computed from git rather than stored.
Proč
The 2026-09-04 data-driven MCP design asked for an entry's git history beside its document. At 707a04c majordomus history reads the task ledger (lib/history.sh) and commit.history judges commit messages (capability/builtin/commit.rs), but an ADR, rule or knowledge record answers nothing about when or by which commit it last changed, so a reader judging whether a record is current has to leave the surface. I1012 assembles a node's detail view from what it has; history is one more thing it can have. Sources: chatgpt-majordomus:c008#2.
Aktuální stav
At 707a04c no entity read or page carries a last-changed commit.
Cílový stav
Every object with a file names its last commit and opens its history, bounded, with no tracked copy of either.
Rozsah
- apps/majordomus-cli/src/capability/builtin/entity.rs
- apps/majordomus-cli/src/cockpit/pages.rs
- apps/majordomus-cli/src/git/mod.rs
- apps/majordomus-cli/tests/objects.rs
Mimo rozsah
- Storing history in the index
- Diffs of the object
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
Kritéria přijetí
- The entity read of an ADR carries the commit and date that last changed its file
- The history is bounded and says when it was cut
- An object with no file says history not applicable, never empty
- The projection is read-only on every transport
Validace
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test objects
Požadované důkazy
- test_entity_history
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3314.yaml. Read it back with majordomus plan show I3314.