Skip to content

I1103 — Whether a file is authored or derived is a field, not a naming convention

Give every machine-processable artifact an explicit provenance and lifecycle — authored, derived, generated, cache or runtime — with its generator, its inputs and whether it is disposable, so that no consumer has to infer from a path what a file is.

BLOCKED wave 2 · p0 · implementation profile · parallel safe

Part of two-folder-integration — A repository that adopts Majordomus gains two directories and two lines, and can give them back.

Blocked. This issue cannot start until I1102 is done. The status is derived from that, not declared.

Objective

Give every machine-processable artifact an explicit provenance and lifecycle — authored, derived, generated, cache or runtime — with its generator, its inputs and whether it is disposable, so that no consumer has to infer from a path what a file is.

Why

A generated file that is indistinguishable from an authored one eventually becomes an input, and then it cannot be regenerated without losing something. Deciding that by directory name works until the first exception.

Current state

Generated artifacts carry a banner or an extension member saying they are generated, which the manifest validator reads. Nothing states a generator's inputs or whether an artifact may be deleted and rebuilt.

Desired state

Provenance and lifecycle are typed fields every artifact carries, and a consumer decides what it may do with a file by reading them.

Scope

  • apps/majordomus-cli/src/generate.rs
  • share/schemas

Out of scope

  • Replacing the existing banner mechanism where it already answers the question
  • A provenance field that repeats what the schema id already fixes

Dependencies

Acceptance criteria

  • Every generated artifact declares its generator, its version and the canonical inputs it derives from
  • Disposability is explicit, so a consumer can tell what may be deleted and rebuilt from what may not
  • A generated artifact is never read back as canonical input, and a check proves it
  • Authored artifacts are distinguishable from derived ones without consulting a path

Validation

  • majordomus generate --check
  • cargo test --workspace --all-features

Evidence required

  • provenance_declared
  • disposability_explicit

Evidence

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

Risk

Recording inputs invites recording them by hand. The input list is derived from the generator, or it is not recorded.

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/I1103.yaml. Read it back with majordomus plan show I1103.