Context
git-fi records the branches merged into fi in fi's commit message and reads that list back on the next run. Two formats exist: the terse compact encoding ((feature-a, feature-b)@[shorthash]) and a legacy standard git-merge message.
git-fi reads both formats (BL-02, BL-03). During the migration rollout it writes the legacy format for every fi commit — bootstrap, empty, or existing — so downstream consumers that parse the fi commit message keep working. The write format is a single switch: DEFAULT_WRITE_FORMAT in src/merge.ts (BL-04).
This issue is the reminder to flip that switch to terse once downstream tooling handles it — targeted for ~September 1, 2026.
Proposed approach
- Confirm downstream consumers of the
fi commit message parse the terse format (or no longer parse the message).
- In
src/merge.ts, flip DEFAULT_WRITE_FORMAT from "legacy" to "terse".
- Update the "currently legacy" framing:
SPEC.md — the BL-04 rollout note.
src/merge.ts — the DEFAULT_WRITE_FORMAT comment.
docs/merge-process.md — the "currently writes legacy" wording.
Reading logic does not change — both formats stay readable indefinitely.
Acceptance criteria
- New fi commits are written in the terse format.
- Both formats still read and round-trip; the suite passes (update the format tests that assert legacy-on-write).
SPEC.md BL-04, the merge.ts comment, and docs/merge-process.md no longer describe legacy as the current default.
Considerations
- Gate on downstream readiness, not just the calendar — Sept 1 is a target, not a hard deadline.
- No data migration needed: only newly written messages change.
Context
git-fi records the branches merged into
fiinfi's commit message and reads that list back on the next run. Two formats exist: the terse compact encoding ((feature-a, feature-b)@[shorthash]) and a legacy standard git-merge message.git-fi reads both formats (BL-02, BL-03). During the migration rollout it writes the legacy format for every fi commit — bootstrap, empty, or existing — so downstream consumers that parse the fi commit message keep working. The write format is a single switch:
DEFAULT_WRITE_FORMATinsrc/merge.ts(BL-04).This issue is the reminder to flip that switch to
terseonce downstream tooling handles it — targeted for ~September 1, 2026.Proposed approach
ficommit message parse the terse format (or no longer parse the message).src/merge.ts, flipDEFAULT_WRITE_FORMATfrom"legacy"to"terse".SPEC.md— the BL-04 rollout note.src/merge.ts— theDEFAULT_WRITE_FORMATcomment.docs/merge-process.md— the "currently writes legacy" wording.Reading logic does not change — both formats stay readable indefinitely.
Acceptance criteria
SPEC.mdBL-04, themerge.tscomment, anddocs/merge-process.mdno longer describe legacy as the current default.Considerations