WIP: Pin private query ingress to canonical human source #1633

Draft
lytedev wants to merge 20 commits from propose/private-query-canonical-ingress into main
Owner

See the commits.

See the commits.
fix(assistant): bind command approval to operator session
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
32a2c2c018
Validation uses faux providers, synthetic credentials, temporary SQLite
stores and mocked executor effects; no production model or audio calls.
The regression probe against e9b69183 confirmed that an ambient service
"yes" could create a spendable grant before this change.

Passed 204 offline tests across command approvals/tools, notice projection,
registered core ingress, signed backend/SSE, browser gateway, composition,
authenticated authority and voice transport. Syntax checks and nix fmt
pass. Strict TypeScript passes for command approvals, host notices and
approved commands, including their unit tests.

The full integration closure remains blocked by seven diagnostics already
present in fetched main e9b69183: agent management JSON typing, recursive
agent extension inference (two), missing readFileSync, missing
AssistantSession, the direct backend handle's dispatch arity, and private
continuity typing. A baseline source archive reports nine diagnostics;
the two old command-approval casts disappear with the v2 implementation.
Do not fold unrelated proposal fixes into this security change.
fix(assistant): integrate current authority and approval composition
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
e132331995
Merge main 64cb8e337f into the pushed approval proposal without rewriting
32a2c2c0. Retain both adjacent test declarations from the single conflict.

Passed 265 offline tests across registered core/operator approval,
voice receiver/session/CLI isolation, notices, SSE revocation, browser
gateway, composition and canonical authority. The final runtime suite
also passes all six tests, including startup with an additional receiver.
Syntax checks, active LSP checks on the three changed files and nix fmt
pass. Approval state, notice projection, the write-ahead outcome barrier
and identity/run bindings are unchanged from 32a2c2c0.

The full strict TypeScript closure, including composition and all selected
test suites, now has one outside-scope diagnostic:
agent_management_host.ts:219:84 assigns PiQuestionEndpoint to JsonValue;
PiQuestionEndpoint lacks the required string index signature. Leave this
visible for the owning worker rather than weakening or casting the type.

No deployment, production inference or audio calls were performed.
fix(assistant): scope implicit household sharing to people
All checks were successful
/ check-format (push) Successful in 30s
/ build (push) Successful in 22m11s
eaaf88fa18
Validation: all 11 authority tests and strict TypeScript pass. The two new regressions fail against the unchanged baseline policy. Creator-service control and explicit named grants remain covered without widening machine authority.

Local core test dependencies use an ignored real directory. Nix fmt was attempted but its evaluator timed out; the pinned nixfmt-tree wrapper completed with zero changes. LSP still reports missing Node builtin types for the existing test imports, whereas the explicit strict compiler with the installed Node type root passes.
fix(review): bound household admission receipt audiences
All checks were successful
/ check-format (push) Successful in 17s
/ build (push) Successful in 21m14s
5bfeb29190
Keep v1 evidence strict and introduce v2 only for household-aware
captures. The receipt remains historical evidence, not live read authority.
No result authorization or conversation ACL policy is changed.

Validation: Node 24.21.0 ran 113 tests across admission, review source,
projection, read-set, scoped runtime, input authority, bridge and result
suites. Strict TypeScript 5.9.3 passes for the four changed files.
Active LSP reports no errors; three files confirm clean and one clean
re-check remains inconclusive on the push-only server.

Current conversation authority requires READ in permission grants, so
WRITE-only and blind-member audience projection use injected repository
policy fixtures with real SessionInputAuthorityRecords. Actual canonical
host fixtures cover READ-only and READ+WRITE household admission,
including unnamed human authors and ordinary/private review denial.

nix fmt timed out after 45 seconds; the pinned treefmt fallback passed.
No live providers, tokens, migrations, audio or deployment were used.
feat(assistant): admit declared ambient rooms atomically
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
3d314cb816
Intentional stack: depends on #1584 human-only implicit household ACL
(eaaf88fa) and #1585 v2 admission receipts (5bfeb291). Neither pushed
foundation is rewritten. PR base is propose/household-review-admission.
Independent approval/provenance dependencies are validation-only and are
not feature ancestry. No runtime activation or service enablement.

Validation is in progress on a separate combined local candidate.
test(assistant): exercise signed ambient admission and uncertain discovery
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
c9cbddfc7b
Uses the registered HTTP backend, actual service verifier protocol,
canonical records, and faux model. Discovery hint failure must retain
the durable uncertain create barrier. Additional combined-stack
validation remains in progress; no activation.
test(assistant): verify bounded household discovery against current ACLs
All checks were successful
/ check-format (push) Successful in 17s
/ build (push) Successful in 32m26s
7a0fe1de83
Combined local validation merges the feature with d343c82e only outside
the feature ancestry. The immutable BIGTOWER artifact
~/Projects/artifacts/ambient-room-admission-r7 passes 442 Node tests
(concurrency 2, nice 15), strict TypeScript for the changed production
and test paths, and the voice-agent Nix package build (nice 10, one job,
two cores). Coverage includes registered signed service/human paths,
v2 chat, uncertain creation, named private membership revocation, stale
nonexistent/private/other-profile hints, and discovery-only HH grants.

The optional UI rerun could not start: copied existing UI dependencies
have stale store symlinks. No UI files changed and no new UI proof is
claimed. No actual provider, room activation, IAM or deployment ran.
feat(assistant): constrain private handoffs to host-pinned household queries
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
04580f775b
fix(assistant): keep query handoffs free of capability grants
All checks were successful
/ check-format (push) Successful in 17s
/ build (push) Successful in 21m45s
90695edea7
feat(assistant): add advisory private query notice tickets
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
f474a67aa6
test(assistant): cover private query ticket isolation and tampering
All checks were successful
/ check-format (push) Successful in 22s
/ build (push) Successful in 32m7s
0799c342db
feat(assistant): pin private query ingress to canonical human source
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
cad89c6a9b
feat(chat): bind displayed input actors to canonical authenticated submissions
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
393212d88f
test(chat): verify canonical actor proof across viewers and restart
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
6a49334c97
fix(chat): preserve exact legacy display and close revoked streams
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
dad045a1c1
style(chat): apply the pinned UI formatter to actor parser tests
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
314b9104f2
fix(chat): reject malformed provenance request IDs before SDK reads
All checks were successful
/ check-format (push) Successful in 18s
/ build (push) Successful in 20m37s
777ba11b88
feat(assistant): integrate positive canonical input actor provenance
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
459bb4615c
test(assistant): exercise canonical private query acceptance and replay
Some checks failed
/ check-format (push) Has been cancelled
/ build (push) Has been cancelled
3a1f3c772f
test(assistant): cover fresh-session private query shared-room writers
All checks were successful
/ check-format (push) Successful in 17s
/ build (push) Successful in 19m54s
aa42f11da4
All checks were successful
/ check-format (push) Successful in 17s
Required
Details
/ build (push) Successful in 19m54s
Required
Details
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin propose/private-query-canonical-ingress:propose/private-query-canonical-ingress
git switch propose/private-query-canonical-ingress
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
lytedev/nix!1633
No description provided.