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
docs(phase-4a): compress the compatibility window by maintainer decision (#422)
* docs(phase-4a): compress the compatibility window by maintainer decision
Records the 2026-07-21 maintainer decision waiving the v0.27.0 + 90-day
dual gate: both mirrors are the maintainer's own MIT code under the same
owner with zero forks and zero known reverse dependencies, and the clone
traffic traces to the maintainer's own fleet and CI. Phase 4B archival is
authorized once the remaining compressed checklist completes. The
non-destructive data invariants and the no-rewrite/no-force-push rule for
the mirror master branches survive unchanged.
* docs(phase-4a): fix semicolons in prose per vale
* docs(phase-4a): tick operator MCP migration in the compressed checklist
* test(release-metadata): lock the compressed phase-4a policy invariants
* test(release-metadata): assert the documentation-link checklist item
The `miseledger sessions list` and `miseledger sessions search` entries are
93
-
current compatibility-equivalent engine commands, not final Brigade-owned
94
-
replacements. Because `miseledger` is in the same shim cohort as `sessionfind`,
95
-
`sessionfind` is not removal-ready until a Brigade-owned session list/search
96
-
facade exists, tests prove equivalent filters and JSON behavior, and its
97
-
deprecation message names that Brigade command. A missing Brigade-owned session
98
-
facade blocks Phase 4B.
99
-
100
-
`brigade setup` is the distribution replacement command for `graphtrail-mcp`.
101
-
It installs the Brigade-managed `graphtrail-mcp` binary. MCP clients retain the
102
-
`graphtrail-mcp` protocol but must move their configuration to the managed
103
-
absolute path. The `graphtrail-mcp` deprecation message must name `brigade
104
-
setup`, the managed-path configuration change, and the earliest removal
105
-
condition: v0.27.0 after the actual T0 + 90-day calendar gate, with both the
106
-
version gate and the calendar gate satisfied.
107
-
108
-
For each shipped non-meta operation, Phase 4B requires either a
109
-
behavior-equivalent Brigade-owned path or an explicit maintainer decision to
110
-
retain the shim. Any operation without that disposition blocks removal.
103
+
`brigade setup` is the distribution replacement for every standalone install
104
+
path. MCP clients retain the `graphtrail-mcp` protocol but configure the
105
+
managed absolute path (`brigade setup` records it in `installed.json`, and
106
+
Brigade's config generators emit it).
111
107
112
108
Existing databases, data paths, and schemas are non-destructive invariants.
113
109
No compatibility action may relocate, delete, or migrate an existing database
114
110
or data path destructively.
115
111
116
-
Each deprecation message must name the replacement command and state the
117
-
earliest removal condition: v0.27.0 after the actual T0 + 90-day calendar gate,
118
-
with both the version gate and the calendar gate satisfied. For code-graph
119
-
invocations, name the applicable `brigade code sync`, `brigade code context`,
120
-
or `brigade code impact` command. For MiseLedger-backed evidence invocations,
121
-
name the applicable `brigade evidence crawl`, `brigade evidence search`, or
122
-
`brigade evidence doctor` command. For sessionfind invocations, use the mappings
123
-
above. There are no silent removals.
124
-
125
112
## Frozen standalone mirrors
126
113
127
114
The `master` branches of `escoffier-labs/graphtrail` and
128
115
`escoffier-labs/miseledger` must not be rewritten or force-pushed. Their import
129
116
commit maps anchor the source-history migration.
130
117
131
118
Migration notices are ordinary commits on top of `master`. Security fixes may
132
-
also be ordinary commits during the compatibility window. No feature work
119
+
also be ordinary commits while the mirrors remain unarchived. No feature work
133
120
returns to either mirror.
134
121
135
122
## GraphTrail crates.io policy
136
123
137
-
Publish graphtrail 0.5.0 from the Brigade monorepo as the final compatibility
138
-
minor. It must retain working legacy binaries and features and include migration
139
-
warnings. Patch releases during the compatibility window are limited to security
140
-
and release-integrity fixes.
141
-
142
-
After both gates are satisfied, leave every published crate version unyanked for
143
-
reproducibility. Mark the crate deprecated and maintenance-frozen, remove current
144
-
`cargo install` guidance, and publish no feature releases.
124
+
Per the 2026-07-21 maintainer decision, no further crates.io releases ship.
125
+
Leave every published crate version unyanked for reproducibility. Mark the
126
+
crate deprecated and maintenance-frozen, and remove current `cargo install`
127
+
guidance from documentation.
145
128
146
-
## Future Phase 4B checklist
129
+
## Phase 4B checklist (compressed)
147
130
148
-
All unchecked items below describe future work. They are not authorization to
149
-
perform it while Phase 4A is active.
150
-
151
-
-[ ] Confirm both the version gate and the calendar gate.
152
-
-[ ] Verify every shim and Brigade search alias, including its replacement command and earliest removal message.
153
-
-[ ] Capture the T0 shim operation inventory and disposition every shipped non-meta operation with a behavior-equivalent Brigade-owned path or an explicit maintainer decision to retain the shim.
154
-
-[ ] Build and verify the Brigade-owned session list/search facade, including equivalent filters and JSON behavior, then name it in the `sessionfind` deprecation message.
155
-
-[ ] Migrate `graphtrail-mcp` MCP client configuration to the Brigade-managed absolute path installed by `brigade setup`, and verify its deprecation message.
156
-
-[ ] Audit and migrate Brigade-generated MCP configs, including `src/brigade/cursor_user_cmd.py`, from PATH-based `graphtrail-mcp` and `miseledger` commands to managed absolute paths.
157
-
-[ ] Audit, transfer, or close remaining issues with links to [#364](https://github.com/escoffier-labs/brigade/issues/364) and [#365](https://github.com/escoffier-labs/brigade/issues/365).
158
-
-[ ] Publish and verify the final `graphtrail` 0.5.0 compatibility release.
131
+
-[x] Maintainer decision recorded waiving the dual gate (this document, 2026-07-21).
132
+
-[x] Audit and migrate Brigade-generated MCP configs, including `src/brigade/cursor_user_cmd.py`, from PATH-based `graphtrail-mcp` and `miseledger` commands to managed absolute paths (PR #419).
133
+
-[x] Migrate operator MCP client configuration to the Brigade-managed absolute path installed by `brigade setup` (operator machine migrated 2026-07-21: codex, Cursor, OpenClaw, and Claude configs plus the capped MCP wrapper now use the managed set).
159
134
-[ ] Confirm migration notices as ordinary commits on both mirrors.
160
135
-[ ] Verify that neither standalone `master` branch was rewritten or force-pushed.
161
136
-[ ] Update product and documentation links to the Brigade release path.
162
-
-[ ] Capture final release and acceptance evidence.
163
-
-[ ] Obtain maintainer approval for Phase 4B execution.
164
-
-[ ] Archive `escoffier-labs/graphtrail` (prohibited during Phase 4A).
165
-
-[ ] Archive `escoffier-labs/miseledger` (prohibited during Phase 4A).
137
+
-[ ] Archive `escoffier-labs/graphtrail`.
138
+
-[ ] Archive `escoffier-labs/miseledger`.
166
139
167
140
## Stop and rollback conditions
168
141
169
-
Stop Phase 4B before archival if either dual gate is unmet, a shim or alias
170
-
lacks its required message, a data-path or schema invariant is at risk, the
171
-
final crate release is not verified, a migration notice is missing, or
172
-
maintainer approval is absent.
173
-
174
-
If a pre-archive compatibility problem appears, keep the mirrors active and
175
-
repair it with an ordinary commit or a security/release-integrity patch as
176
-
applicable. Do not rewrite standalone `master`, do not force-push, and do not
177
-
archive either repository until every Phase 4B checklist item is complete.
142
+
Stop before archival if a data-path or schema invariant is at risk or a
143
+
migration notice is missing. If a pre-archive compatibility problem appears,
144
+
keep the mirrors active and repair it with an ordinary commit. Do not rewrite
145
+
standalone `master`, do not force-push. After archival, a mirror can be
146
+
unarchived from GitHub settings at any time if a repair is ever needed.
0 commit comments