Repository navigation
Implement Fusion context_names injection #25
Copy link
Copy link
Open
Labels
area:fusionFleet/realm/context_names and everything contextScope touches.Fleet/realm/context_names and everything contextScope touches.needs:live-testCannot close on mocked tests alone. Requires live verification against an array.Cannot close on mocked tests alone. Requires live verification against an array.priority:P1Wrong on the wire, or blocks other queued work.Wrong on the wire, or blocks other queued work.size:LMulti-PR. Needs a plan before it needs code.Multi-PR. Needs a plan before it needs code.source:humanOpened by a person from observation or field feedback.Opened by a person from observation or field feedback.status:needs-designUnderstood, but the approach is not settled. Needs a design doc.Understood, but the approach is not settled. Needs a design doc.
Description
No activity
Activity on this issue will appear here.
Activity
Metadata
Metadata
Assignees
Labels
area:fusionFleet/realm/context_names and everything contextScope touches.Fleet/realm/context_names and everything contextScope touches.needs:live-testCannot close on mocked tests alone. Requires live verification against an array.Cannot close on mocked tests alone. Requires live verification against an array.priority:P1Wrong on the wire, or blocks other queued work.Wrong on the wire, or blocks other queued work.size:LMulti-PR. Needs a plan before it needs code.Multi-PR. Needs a plan before it needs code.source:humanOpened by a person from observation or field feedback.Opened by a person from observation or field feedback.status:needs-designUnderstood, but the approach is not settled. Needs a design doc.Understood, but the approach is not settled. Needs a design doc.
Umbrella issue for Fusion
context_namessupport. Phases 0 and 1 have shipped; this body is the current state.Design documents:
docs/design/fusion-context-phase-0-spec.mdanddocs/design/fusion-context-phase-1-spec.md, both onmain. The originally citeddocs/design/fusion-context-injection.mdwas never merged — PRs #22 and #72 carried it and are now closed as superseded, so references to that path are dangling and should point at the phase specs.Shipped
contextScope(Integration: Fusion Phase 0 prerequisites + capability-map schema-walk fixes (#96, #97) #98). Records per endpoint whether a context isfleet-scoped,array-scoped orunknown, with provenance, so injection can be gated on data rather than inference.Connect-PfbArray -Context,-Kind,-AllArraysSet-PfbContext,Clear-PfbContext,Invoke-PfbInContext(originally listed as Phases 2 and 3)Invoke-PfbApiRequestchoke point — no existing cmdlet gains a-ContextNamesparameterPhase 2 — remaining scope
allow_errorsand the partial-failureerrorsenvelope #159 --allow_errors. Not implemented; the drift report carries an annotation saying so. The rule established by live testing is that tolerance keys off the value count, not the parameter's form:allow_errorsis honoured only whencontext_namescarries 2 or more values. A consequence worth designing against —-AllArrays -AllowErrorscan never yield a partial result, because a single resolved array is still a size-1 context.Set-PfbContextpath #160 -- 403 reconnect amplification. The connect-timeGET /adminsprobe meets the reconnect gate, which fires on 403 as well as 401 by design. Under a restricted management-access policy that costs roughly three round trips and a spurious re-login, now paid on the commonSet-PfbContextpath. Non-fatal — thecatchcontains it. This is derived from the code path and deliberately was not live-measured: the measurement needs an out-of-band management-access-policy change on the lab array, and the last such change destroyed the test account's API token. Any fix changes reconnect logic shared by every cmdlet, so it wants its own design pass rather than a patch.context_idsand context display surfacing #161 --context_idsand display surfacing.Related, tracked separately
context_namesas a 269-endpoint systemic gap even though Phase 1 injects it, because the AST scanner only recognises literal-key assignments and the injection site is variable-keyed. The gap annotation should be deleted when that lands.contextScopefollow-ups surfaced by Phase 1: topology-group write provenance,x-pure-block-remote-executionusability, and the absent version dimension.context_names=<fleet>on every write and every name-scoped read.