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
{{ message }}
Repository navigation
one door for a request's purpose and role: purpose at the client, lane.Role on the calllog record (#928), prefix variance removed at source #1009
#996 closed the auxiliary inventory one package deep. Its review (five passes, 2026-09-12) found the shape stops short in three places that are each a cross-package change and belong together as one wave, with #928 as the spine:
Purpose is a precondition of the wire, not a package convention.provider.NewClient (or the one place calllog.Record is written) takes the purpose and refuses/loudly flags an anonymous row. Deletes withPurpose, the inherited-blank exemption, the own-client second pass in internal/session, and covers internal/reflex, internal/head, internal/exec, internal/revision, internal/plan and cmd/aforge, which today spell provider.WithCallTag by hand and are invisible to internal/session's package-local law. The law becomes "no provider.NewClient outside the dispatcher without a purpose", module-wide.
lane.Role rides on the record (provider.WithCallRole beside WithCallTag), so cmd/aforge-replay's roleOf table is deleted rather than grown, the vision/spellout rows stop being hand-priced, and the standing check's tag reverts from standing-check to its role's own word sentinel (three packages spell "sentinel" for three things today; the join fixes that, not a rename).
Remove the prefix variance instead of measuring around it: one grep description everywhere (the "ripgrep absent" fact delivered at runtime in the tool result or one caps line), load_capability names what the build COULD have, so the fixed prefix is one number on every machine and widestBelt / WidestGrepDescription / the members seam in internal/exec/bare are deleted. Owner of bare's grep-description law must be in the room: that file states the two facts must be told up front.
Acceptance
End-to-end first: aforge chat --once on deepseek/deepseek-v4-flash with the guard, then ~/.aforge/logs/calls.jsonl shows every row with a purpose AND a lane role, including rows from the resident's quorum errand and a reflex call; cmd/aforge-replay prices them with no table. Unit: the module-wide go/ast law; the prefix gate's number identical on macOS with ripgrep+ffmpeg and on the Linux runner without either.
Measurements that make the case are in #996's PR body and PERF.md's prefix section.
Drafted with CodeAF · reviewed and owned by the author
Closing as a duplicate of #1010. Both issues were filed on 2026-09-12 out of the #996 review and specify the same three cross-package changes: the purpose as a precondition of the wire, lane.Role on the call record, and the prefix variance removed at its source. #1010 is the fuller specification, and it is the one PR #996 and the prefix-budget test's own residue comment name. None of the work is being dropped; it stays open in #1010.
Activity
AbirAbbas commentedon Sep 16, 2026
Closing as a duplicate of #1010. Both issues were filed on 2026-09-12 out of the #996 review and specify the same three cross-package changes: the purpose as a precondition of the wire,
lane.Roleon the call record, and the prefix variance removed at its source. #1010 is the fuller specification, and it is the one PR #996 and the prefix-budget test's own residue comment name. None of the work is being dropped; it stays open in #1010.