@mquan/portal 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +168 -0
- package/dist/src/api.d.ts +5 -0
- package/dist/src/api.js +357 -0
- package/dist/src/api.js.map +1 -0
- package/dist/src/cli.d.ts +17 -0
- package/dist/src/cli.js +618 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/daemon-lifecycle.d.ts +24 -0
- package/dist/src/daemon-lifecycle.js +107 -0
- package/dist/src/daemon-lifecycle.js.map +1 -0
- package/dist/src/daemon.d.ts +17 -0
- package/dist/src/daemon.js +90 -0
- package/dist/src/daemon.js.map +1 -0
- package/dist/src/doctor.d.ts +14 -0
- package/dist/src/doctor.js +51 -0
- package/dist/src/doctor.js.map +1 -0
- package/dist/src/entrypoint.d.ts +2 -0
- package/dist/src/entrypoint.js +14 -0
- package/dist/src/entrypoint.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/launch.d.ts +41 -0
- package/dist/src/launch.js +186 -0
- package/dist/src/launch.js.map +1 -0
- package/dist/src/mcp.d.ts +9 -0
- package/dist/src/mcp.js +132 -0
- package/dist/src/mcp.js.map +1 -0
- package/dist/src/network/client.d.ts +67 -0
- package/dist/src/network/client.js +540 -0
- package/dist/src/network/client.js.map +1 -0
- package/dist/src/network/coordinator.d.ts +83 -0
- package/dist/src/network/coordinator.js +225 -0
- package/dist/src/network/coordinator.js.map +1 -0
- package/dist/src/network/protocol.d.ts +1352 -0
- package/dist/src/network/protocol.js +360 -0
- package/dist/src/network/protocol.js.map +1 -0
- package/dist/src/network/server.d.ts +28 -0
- package/dist/src/network/server.js +474 -0
- package/dist/src/network/server.js.map +1 -0
- package/dist/src/network/tasks.d.ts +65 -0
- package/dist/src/network/tasks.js +276 -0
- package/dist/src/network/tasks.js.map +1 -0
- package/dist/src/portal-index.d.ts +21 -0
- package/dist/src/portal-index.js +140 -0
- package/dist/src/portal-index.js.map +1 -0
- package/dist/src/provider/claude-managed.d.ts +34 -0
- package/dist/src/provider/claude-managed.js +125 -0
- package/dist/src/provider/claude-managed.js.map +1 -0
- package/dist/src/provider/claude.d.ts +24 -0
- package/dist/src/provider/claude.js +114 -0
- package/dist/src/provider/claude.js.map +1 -0
- package/dist/src/provider/codex/app-server-client.d.ts +43 -0
- package/dist/src/provider/codex/app-server-client.js +143 -0
- package/dist/src/provider/codex/app-server-client.js.map +1 -0
- package/dist/src/provider/codex/index.d.ts +3 -0
- package/dist/src/provider/codex/index.js +4 -0
- package/dist/src/provider/codex/index.js.map +1 -0
- package/dist/src/provider/codex/managed-runner.d.ts +12 -0
- package/dist/src/provider/codex/managed-runner.js +162 -0
- package/dist/src/provider/codex/managed-runner.js.map +1 -0
- package/dist/src/provider/codex/probe.d.ts +2 -0
- package/dist/src/provider/codex/probe.js +33 -0
- package/dist/src/provider/codex/probe.js.map +1 -0
- package/dist/src/provider/codex/protocol.d.ts +193 -0
- package/dist/src/provider/codex/protocol.js +10 -0
- package/dist/src/provider/codex/protocol.js.map +1 -0
- package/dist/src/provider/codex/provider.d.ts +35 -0
- package/dist/src/provider/codex/provider.js +289 -0
- package/dist/src/provider/codex/provider.js.map +1 -0
- package/dist/src/provider/codex/remote-app-server.d.ts +16 -0
- package/dist/src/provider/codex/remote-app-server.js +80 -0
- package/dist/src/provider/codex/remote-app-server.js.map +1 -0
- package/dist/src/provider/codex/websocket-client.d.ts +40 -0
- package/dist/src/provider/codex/websocket-client.js +174 -0
- package/dist/src/provider/codex/websocket-client.js.map +1 -0
- package/dist/src/provider/types.d.ts +35 -0
- package/dist/src/provider/types.js +2 -0
- package/dist/src/provider/types.js.map +1 -0
- package/dist/src/recall/embedding.d.ts +28 -0
- package/dist/src/recall/embedding.js +142 -0
- package/dist/src/recall/embedding.js.map +1 -0
- package/dist/src/recall/types.d.ts +35 -0
- package/dist/src/recall/types.js +2 -0
- package/dist/src/recall/types.js.map +1 -0
- package/dist/src/rpc/client.d.ts +6 -0
- package/dist/src/rpc/client.js +58 -0
- package/dist/src/rpc/client.js.map +1 -0
- package/dist/src/rpc/protocol.d.ts +21 -0
- package/dist/src/rpc/protocol.js +11 -0
- package/dist/src/rpc/protocol.js.map +1 -0
- package/dist/src/rpc/server.d.ts +12 -0
- package/dist/src/rpc/server.js +154 -0
- package/dist/src/rpc/server.js.map +1 -0
- package/dist/src/runtime/paths.d.ts +8 -0
- package/dist/src/runtime/paths.js +18 -0
- package/dist/src/runtime/paths.js.map +1 -0
- package/dist/src/service.d.ts +127 -0
- package/dist/src/service.js +637 -0
- package/dist/src/service.js.map +1 -0
- package/dist/src/session-profile.d.ts +39 -0
- package/dist/src/session-profile.js +186 -0
- package/dist/src/session-profile.js.map +1 -0
- package/dist/src/storage/database.d.ts +9 -0
- package/dist/src/storage/database.js +354 -0
- package/dist/src/storage/database.js.map +1 -0
- package/dist/src/storage/repository.d.ts +275 -0
- package/dist/src/storage/repository.js +1291 -0
- package/dist/src/storage/repository.js.map +1 -0
- package/dist/src/version.d.ts +1 -0
- package/dist/src/version.js +2 -0
- package/dist/src/version.js.map +1 -0
- package/docs/architecture-plan.md +191 -0
- package/docs/mvp-plan.md +111 -0
- package/docs/remote-demo.md +346 -0
- package/package.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/storage/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PORTAL_VERSION = "0.0.1";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Portal architecture
|
|
2
|
+
|
|
3
|
+
Status: post-MVP direction
|
|
4
|
+
Updated: 2026-09-04
|
|
5
|
+
|
|
6
|
+
## Product boundary
|
|
7
|
+
|
|
8
|
+
Portal is a local, per-user control plane for agent and work sessions. It owns
|
|
9
|
+
identity, policy, indexed recall, durable messages, and orchestration records.
|
|
10
|
+
Vendor transcripts remain authoritative for vendor-native resume.
|
|
11
|
+
|
|
12
|
+
The deterministic daemon is the trusted core. An optional coordinator may run
|
|
13
|
+
on Codex or Claude later, but it is an ordinary scoped client; it never owns the
|
|
14
|
+
database, policy, or approvals.
|
|
15
|
+
|
|
16
|
+
## Settled architecture
|
|
17
|
+
|
|
18
|
+
| Area | Decision |
|
|
19
|
+
|---|---|
|
|
20
|
+
| Core | TypeScript `portald`, initially distributed with the npm developer tool. |
|
|
21
|
+
| Local IPC | User-only Unix socket; separate control and session credentials; no LAN listener. |
|
|
22
|
+
| Agent API | Authenticated Portal MCP tools. |
|
|
23
|
+
| Provider control | Vendor-native protocols, with unsupported capabilities explicit. |
|
|
24
|
+
| Persistence | SQLite/WAL for identities, normalized transcript evidence, indexes, leases, and messages. |
|
|
25
|
+
| Recall | Incremental FTS and semantic candidate indexes; expand only selected evidence. |
|
|
26
|
+
| macOS product | Later signed/notarized Swift shell and OS bridge around the validated core. |
|
|
27
|
+
| Other apps | Generic OS observation/control plus higher-fidelity semantic connectors. |
|
|
28
|
+
| Global network | Keep the protocol location-independent so mutually authenticated Portal clients and agents can communicate across machines and administrative domains later. |
|
|
29
|
+
|
|
30
|
+
## Session model
|
|
31
|
+
|
|
32
|
+
A session is a durable unit of context, not a process, tab, or window. Future
|
|
33
|
+
session kinds include agent, process/service, terminal, browser, collaboration,
|
|
34
|
+
desktop app, archive, and tool host.
|
|
35
|
+
|
|
36
|
+
Every descriptor has:
|
|
37
|
+
|
|
38
|
+
- a stable Portal ID and typed provider identity;
|
|
39
|
+
- ownership: `managed`, `adopted`, or `observed`;
|
|
40
|
+
- workspace and authorization scope;
|
|
41
|
+
- separate context and control capabilities;
|
|
42
|
+
- ephemeral runtime bindings such as process, tab, or connection; and
|
|
43
|
+
- confidence on inferred state.
|
|
44
|
+
|
|
45
|
+
Heuristics may suggest correlations but never silently merge identities.
|
|
46
|
+
|
|
47
|
+
## Communication
|
|
48
|
+
|
|
49
|
+
Each transport has one purpose:
|
|
50
|
+
|
|
51
|
+
- MCP: agent recall, messaging, tasks, actions, and artifacts;
|
|
52
|
+
- Unix-socket JSON-RPC: CLI, local UI, and internal control;
|
|
53
|
+
- vendor protocol: actual start, prompt, steer, interrupt, and resume;
|
|
54
|
+
- loopback WebSocket: dashboard event subscription when a UI exists.
|
|
55
|
+
|
|
56
|
+
Messages are durable, attributed, untrusted context. Sender identity comes from
|
|
57
|
+
the authenticated connection. Workspace policy, capability, idempotency,
|
|
58
|
+
expiry, delivery state, and provenance are checked centrally. A managed Codex
|
|
59
|
+
runner may promote a message into a visible turn while preserving the target's
|
|
60
|
+
existing sandbox and approval policy; other targets use claim/ack inbox
|
|
61
|
+
delivery. Richer delegation controls such as cancellation and approval routing
|
|
62
|
+
remain deferred.
|
|
63
|
+
|
|
64
|
+
Session addressing separates stable identity from mutable discovery metadata.
|
|
65
|
+
Each session may have a user-controlled managed name plus a persisted derived
|
|
66
|
+
profile containing a display name, bounded description, topics, transcript
|
|
67
|
+
watermark, and reachability. Targetless delivery searches profiles
|
|
68
|
+
deterministically and may select only a clearly relevant active runner in the
|
|
69
|
+
same workspace. Ambiguous resolution returns candidates and performs no write.
|
|
70
|
+
|
|
71
|
+
## Long-term global agent network
|
|
72
|
+
|
|
73
|
+
Portal should eventually support a global network of agents communicating
|
|
74
|
+
across machines, users, teams, and organizations. The local daemon remains the
|
|
75
|
+
first trust boundary, but the data model and protocol must not assume that a
|
|
76
|
+
caller sharing a Unix socket is the only possible identity model.
|
|
77
|
+
|
|
78
|
+
Identity and discovery remain separate: display names, descriptions, routing
|
|
79
|
+
profiles, network locations, and vendor session IDs help find an agent but
|
|
80
|
+
never prove who controls it. A network principal must have a durable,
|
|
81
|
+
cryptographically verifiable identity, and each agent session must be bound to
|
|
82
|
+
that principal, its device or Portal instance, and its delegated capabilities.
|
|
83
|
+
|
|
84
|
+
Any remote transport must provide mutual authentication, message integrity,
|
|
85
|
+
replay protection, key rotation and revocation, short-lived scoped
|
|
86
|
+
credentials, and end-to-end provenance that survives relays. Authorization is
|
|
87
|
+
evaluated at every receiving Portal boundary; successful authentication does
|
|
88
|
+
not imply permission to read context, invoke tools, or control a session.
|
|
89
|
+
Messages and tool results retain signed attribution and an auditable custody
|
|
90
|
+
chain so recipients can distinguish the original sender from gateways,
|
|
91
|
+
coordinators, and delegated agents.
|
|
92
|
+
|
|
93
|
+
The eventual topology may be direct, relay-based, or federated. That choice is
|
|
94
|
+
deferred, but local IDs, message envelopes, receipts, and capability grants
|
|
95
|
+
should be versioned and globally namespaced now so remote support does not
|
|
96
|
+
require replacing the local identity or messaging model.
|
|
97
|
+
|
|
98
|
+
### Discovery and nameservers
|
|
99
|
+
|
|
100
|
+
The global network needs centralized nameservers where agents can register
|
|
101
|
+
stable names, publish signed capability records, and discover other agents by
|
|
102
|
+
name, owner, skill, or policy-visible metadata. This must not become one
|
|
103
|
+
mandatory global directory: clients may use multiple public nameservers, and
|
|
104
|
+
organizations or groups may operate private nameservers containing agents and
|
|
105
|
+
capabilities that are invisible outside their trust boundary. Private and
|
|
106
|
+
public results may be composed using explicit precedence and provenance,
|
|
107
|
+
similar to split-horizon DNS.
|
|
108
|
+
|
|
109
|
+
Registration must prove control of the principal and signing key behind an
|
|
110
|
+
agent record. Records need globally unambiguous identifiers, signed metadata,
|
|
111
|
+
leases or expiry, key rotation, revocation, and cache invalidation. Human names
|
|
112
|
+
and semantic descriptions remain mutable discovery attributes rather than
|
|
113
|
+
security identities. A nameserver helps a client find an endpoint and its
|
|
114
|
+
authentication requirements; it does not grant permission to contact or
|
|
115
|
+
control the discovered agent.
|
|
116
|
+
|
|
117
|
+
### Relationships, authentication, and abuse controls
|
|
118
|
+
|
|
119
|
+
Portal needs an authenticated relationship layer above discovery. Principals
|
|
120
|
+
must be able to send expiring invitations, verify and accept contacts, grant
|
|
121
|
+
narrow capabilities, revoke access, block principals or agents, and control
|
|
122
|
+
who can discover or message them. Blocks and revocations take precedence over
|
|
123
|
+
cached directory data and active invitations. Rate limits, reporting,
|
|
124
|
+
reputation, and spam defenses will be required before public discovery can be
|
|
125
|
+
safe. Private groups need membership administration and selective disclosure,
|
|
126
|
+
not merely a secret nameserver URL.
|
|
127
|
+
|
|
128
|
+
### Proven infrastructure patterns
|
|
129
|
+
|
|
130
|
+
The design should reuse established mechanisms instead of inventing an entire
|
|
131
|
+
network stack:
|
|
132
|
+
|
|
133
|
+
- DNS and the web provide hierarchical naming, delegated authority,
|
|
134
|
+
well-known records, caching, certificates, and proof of domain control.
|
|
135
|
+
- Telephone networks provide globally routable addresses, contact books,
|
|
136
|
+
invitations, blocking, abuse handling, and expectations around portability.
|
|
137
|
+
- Email, federated social networks, and messaging systems provide independent
|
|
138
|
+
operators, relationship graphs, private groups, moderation, and
|
|
139
|
+
store-and-forward delivery.
|
|
140
|
+
- BitTorrent-style systems provide peer discovery, rendezvous, content-addressed
|
|
141
|
+
identity, availability tracking, and techniques for peers behind NAT.
|
|
142
|
+
- Social networks provide useful discovery, mutual-contact, reputation, and
|
|
143
|
+
privacy patterns, while also demonstrating why unsolicited reachability and
|
|
144
|
+
centralized identity control need strong safeguards.
|
|
145
|
+
|
|
146
|
+
These are sources of proven components, not a requirement to copy any one
|
|
147
|
+
system wholesale. Portal should begin with centralized and private nameservers
|
|
148
|
+
for understandable trust and operations, while keeping identifiers and signed
|
|
149
|
+
records portable enough to support federation or peer-assisted discovery
|
|
150
|
+
later.
|
|
151
|
+
|
|
152
|
+
## Recall
|
|
153
|
+
|
|
154
|
+
Adapters ingest only changed transcript content, normalize it, hash/deduplicate
|
|
155
|
+
entries, preserve source references, create bounded chunks, and update FTS plus
|
|
156
|
+
semantic indexes. Queries apply authorization first, retrieve bounded lexical
|
|
157
|
+
and semantic candidates, fuse and diversify them, and return excerpts with
|
|
158
|
+
session/entry citations and index freshness.
|
|
159
|
+
|
|
160
|
+
Portal never broadcasts all transcripts into every agent prompt and never scans
|
|
161
|
+
all raw transcript collections for an ad-hoc query.
|
|
162
|
+
|
|
163
|
+
## macOS and external apps
|
|
164
|
+
|
|
165
|
+
Full macOS access is intentionally a later product layer, not a bespoke
|
|
166
|
+
connector for every app:
|
|
167
|
+
|
|
168
|
+
1. A signed Swift bridge uses user-granted Accessibility, Screen Recording,
|
|
169
|
+
Automation/Apple Events, process/window APIs, and browser automation.
|
|
170
|
+
2. The bridge exposes a narrow typed local API to `portald`; it does not expose
|
|
171
|
+
unrestricted arbitrary input or shell execution to agents.
|
|
172
|
+
3. Portal models discovered windows, tabs, processes, and conversations as
|
|
173
|
+
typed sessions with confidence and capability metadata.
|
|
174
|
+
4. Optional connectors add stable IDs, structured history, events, and reliable
|
|
175
|
+
actions for high-value systems such as Slack or browser CDP.
|
|
176
|
+
|
|
177
|
+
Broad OS permission belongs in one auditable component. Policy still evaluates
|
|
178
|
+
each requested read or action against the calling session, target, workspace,
|
|
179
|
+
user grant, and risk level.
|
|
180
|
+
|
|
181
|
+
## Packaging sequence
|
|
182
|
+
|
|
183
|
+
1. Validate the core as a TypeScript daemon, CLI, and MCP executable from npm.
|
|
184
|
+
2. Publish a versioned npm package after the product gates pass.
|
|
185
|
+
3. Add `Portal.app` for setup, lifecycle, dashboard, permissions, and the macOS
|
|
186
|
+
bridge while reusing the same daemon and database.
|
|
187
|
+
4. Distribute the full macOS product as a signed/notarized DMG with automatic
|
|
188
|
+
updates. Keep npm for headless clients, SDKs, and non-macOS use.
|
|
189
|
+
|
|
190
|
+
Cross-platform core behavior is desirable. Full OS awareness is macOS-first;
|
|
191
|
+
other platforms add their own narrow bridge only after the core is validated.
|
package/docs/mvp-plan.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Portal MVP checkpoints
|
|
2
|
+
|
|
3
|
+
Status: implementation checkpoint
|
|
4
|
+
Updated: 2026-08-30
|
|
5
|
+
|
|
6
|
+
## Hypothesis
|
|
7
|
+
|
|
8
|
+
Portal is useful if a developer running several coding agents can:
|
|
9
|
+
|
|
10
|
+
1. see Codex and Claude sessions in one accurate inventory;
|
|
11
|
+
2. recall cited context without knowing which current or historical session has
|
|
12
|
+
it; and
|
|
13
|
+
3. send an attributed message to another session without copying terminal text.
|
|
14
|
+
|
|
15
|
+
The MVP validates this workflow before a Swift app, dashboard, generic OS
|
|
16
|
+
access, task orchestration, or additional providers.
|
|
17
|
+
|
|
18
|
+
## Capability contract
|
|
19
|
+
|
|
20
|
+
| Capability | Meaning |
|
|
21
|
+
|---|---|
|
|
22
|
+
| `indexed` | Portal can search retained transcript content. |
|
|
23
|
+
| `connected` | The session has a renewable authenticated Portal MCP lease. |
|
|
24
|
+
| `messageable` | Portal can actively deliver to a managed runner or retain a durable inbox message. |
|
|
25
|
+
|
|
26
|
+
Session identity is an opaque Portal ID mapped from `(provider, installation,
|
|
27
|
+
account fingerprint, vendor session ID)`. PID, cwd, title, and recency are
|
|
28
|
+
metadata, never identity or proof of liveness.
|
|
29
|
+
|
|
30
|
+
Human session references currently require an exact Portal ID, vendor ID,
|
|
31
|
+
managed name, or provider title. The next identity checkpoint will normalize
|
|
32
|
+
case and separator differences (`api agent`, `api_agent`, and `api-agent`) while
|
|
33
|
+
still rejecting ambiguity. Semantic nicknames such as `reviewer` will require an
|
|
34
|
+
explicit persisted alias; Portal must not guess which process should receive a
|
|
35
|
+
potentially mutating task.
|
|
36
|
+
|
|
37
|
+
## MVP architecture
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
portal CLI / Portal MCP
|
|
41
|
+
|
|
|
42
|
+
JSON-RPC Unix socket
|
|
43
|
+
|
|
|
44
|
+
portald
|
|
45
|
+
registry | index | queue
|
|
46
|
+
|
|
|
47
|
+
SQLite/WAL
|
|
48
|
+
|
|
|
49
|
+
Codex adapter Claude adapter
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
- Codex uses app-server thread list/read; Claude uses Agent SDK local history.
|
|
53
|
+
Neither observation API is treated as proof that a separate interactive
|
|
54
|
+
process is live.
|
|
55
|
+
- Portal MCP uses session-bound hashed credentials. The daemon derives caller
|
|
56
|
+
workspace and sender identity.
|
|
57
|
+
- CLI methods require a separate private control credential that is never
|
|
58
|
+
passed to managed agents.
|
|
59
|
+
- Recall queries FTS5 and inverted embedding buckets, not raw transcript files.
|
|
60
|
+
Content hashes and update watermarks skip unchanged history; common secrets
|
|
61
|
+
are redacted before persistence.
|
|
62
|
+
- Peer messages remain attributed, untrusted context. Managed Codex runners
|
|
63
|
+
promote them into a visible turn under the target's existing sandbox and
|
|
64
|
+
approval policy; unavailable and non-Codex targets retain claim/ack inbox
|
|
65
|
+
delivery.
|
|
66
|
+
|
|
67
|
+
## Checkpoints
|
|
68
|
+
|
|
69
|
+
| Milestone | State | Validation |
|
|
70
|
+
|---|---|---|
|
|
71
|
+
| M0 executable/RPC foundation | Complete | Build, doctor, SQLite migrations, user-only Unix socket. |
|
|
72
|
+
| M1 provider feasibility | Complete | Real local Codex and Claude discovery/read probes pass. Control boundaries remain explicit. |
|
|
73
|
+
| M2 unified inventory | Complete | Eight real sessions from both providers indexed with stable IDs; restarts do not duplicate them. |
|
|
74
|
+
| M3 exact cited recall | Complete | Real unknown-source query returned the exact statement and source URI. |
|
|
75
|
+
| M4 multi-session hybrid recall | Complete for MVP | FTS plus local feature-hash semantic fusion, session diversity, workspace isolation, and bounded candidates are tested. |
|
|
76
|
+
| M5 tools inside agents | Codex live-validated; Claude automated | Four authenticated MCP tools, renewable leases, and expiring/revoked credentials are tested. A real managed Codex run created its vendor thread, called `portal.sessions`, returned a result, and cleaned up its lease. Claude launch/configuration has automated coverage but still needs live validation. |
|
|
77
|
+
| M6 active messaging | Codex live-validated | A real managed Codex target automatically displayed an attributed peer turn and returned its correlated answer, target turn ID, timestamps, and tool summary. Offline claim/ack delivery, restart persistence, idempotency, and no-replay failure handling remain as fallback. Claude active delivery is sequenced later. |
|
|
78
|
+
| M6.1 human-friendly targeting | Codex live-validated | An unnamed source was resolved by its derived name and a targetless message selected one unnamed active Codex reviewer, displayed an attributed turn, and returned its correlated answer. Weak and ambiguous no-write behavior is covered automatically; explicit aliases remain a later enhancement. |
|
|
79
|
+
| M7 product validation | In progress | Two real active-delivery workflows passed; five multi-session workflows plus recall/message metrics remain required. |
|
|
80
|
+
|
|
81
|
+
Measured locally on the real Portal workspace:
|
|
82
|
+
|
|
83
|
+
- first indexing of eight sessions: about 1.5 seconds;
|
|
84
|
+
- refresh plus cited recall: about 1.1 seconds;
|
|
85
|
+
- warm indexed recall: about 69 ms;
|
|
86
|
+
- persisted recall after daemon restart: about 56 ms.
|
|
87
|
+
|
|
88
|
+
These are development-machine observations, not portable performance promises.
|
|
89
|
+
|
|
90
|
+
## Required validation before expanding scope
|
|
91
|
+
|
|
92
|
+
- Prove Codex-to-Claude and Claude-to-Codex inbox message/reply delivery,
|
|
93
|
+
including disconnect, claim expiry, acknowledgement, retry, and restart.
|
|
94
|
+
- Live-validate an ambiguous targetless request returning candidates without
|
|
95
|
+
creating a message.
|
|
96
|
+
- Run a fixed recall benchmark; top-five retrieval must reach at least 80%, and
|
|
97
|
+
warm queries must remain below two seconds.
|
|
98
|
+
- Dogfood five workflows and record whether recall changed the work, delivery
|
|
99
|
+
latency/failures, observed-only targets, and avoided copy/paste.
|
|
100
|
+
|
|
101
|
+
## Deferred
|
|
102
|
+
|
|
103
|
+
- coordinator agents, task delegation, approvals, artifacts, and worktrees;
|
|
104
|
+
- richer delegation controls such as cancellation, approval routing, and
|
|
105
|
+
active delivery for providers beyond managed Codex;
|
|
106
|
+
- browser tabs, Slack, services, arbitrary processes, and macOS automation;
|
|
107
|
+
- desktop UI, signed/notarized distribution, updates, and login items;
|
|
108
|
+
- connector/plugin SDKs, teams, and cloud sync;
|
|
109
|
+
- remote/federated agent networking, including globally namespaced principals,
|
|
110
|
+
public and private nameservers, mutual authentication, invitations, blocking,
|
|
111
|
+
signed provenance, key rotation, revocation, and abuse controls.
|