@aopslabs/aops 0.3.8 → 0.3.10
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/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/SKILL.md +3 -4
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/agentspace/SKILL.md +4 -4
- package/agent-assets-release/agent-assets/core/070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5/files/references/chatv3/SKILL.md +59 -0
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/collaborative-work/SKILL.md +10 -13
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/discuss/SKILL.md +2 -2
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/docman/SKILL.md +6 -0
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/projectman/SKILL.md +6 -0
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/working-disciplines/SKILL.md +1 -1
- package/agent-assets-release/agent-assets/core/070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5/files/user-guides/agentspace.md +198 -0
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/user-guides/aops-cli.md +25 -24
- package/agent-assets-release/agent-assets/core/070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5/files/user-guides/chatv3.md +98 -0
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/user-guides/docman.md +16 -0
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/user-guides/projectman.md +7 -0
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/user-guides/working-disciplines.md +2 -2
- package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/manifest.json +31 -36
- package/agent-assets-release/agent-assets/inventory.json +5 -5
- package/agent-assets-release/agent-assets/projection.json +1 -1
- package/agent-assets-release/agent-assets-release.json +64 -69
- package/agent-assets-release/agent-assets-release.sigstore.json +26 -25
- package/assets/agent-assets/core/SKILL.md +3 -4
- package/assets/agent-assets/core/references/agentspace/SKILL.md +4 -4
- package/assets/agent-assets/core/references/chatv3/SKILL.md +36 -26
- package/assets/agent-assets/core/references/collaborative-work/SKILL.md +10 -13
- package/assets/agent-assets/core/references/discuss/SKILL.md +2 -2
- package/assets/agent-assets/core/references/docman/SKILL.md +6 -0
- package/assets/agent-assets/core/references/projectman/SKILL.md +6 -0
- package/assets/agent-assets/core/references/working-disciplines/SKILL.md +1 -1
- package/assets/agent-assets/core/user-guides/agentspace.md +135 -1035
- package/assets/agent-assets/core/user-guides/aops-cli.md +25 -24
- package/assets/agent-assets/core/user-guides/chatv3.md +82 -97
- package/assets/agent-assets/core/user-guides/docman.md +16 -0
- package/assets/agent-assets/core/user-guides/projectman.md +7 -0
- package/assets/agent-assets/core/user-guides/working-disciplines.md +2 -2
- package/dist/commands/chatv3.js +81 -46
- package/dist/commands/doc.js +4 -4
- package/dist/commands/pm/index.js +2 -5
- package/dist/commands/pm/projectman.js +36 -95
- package/dist/lib/agent-assets/native-fs.js +2 -2
- package/dist/lib/agent-assets/release-input.js +7 -1
- package/dist/lib/setup-official-catalog-bridge.js +14 -4
- package/dist/main.js +2 -3
- package/dist/seeds/agents-md.js +1 -1
- package/dist/utils/chatv3-cursor.js +41 -0
- package/dist/utils/chatv3-session-store.js +166 -36
- package/launchers/aops-cockpit.sh +0 -0
- package/launchers/aops-server.sh +0 -0
- package/native/bin/darwin-arm64/aops-agent-assets-fs +0 -0
- package/native/bin/darwin-x64/aops-agent-assets-fs +0 -0
- package/native/bin/linux-arm64/aops-agent-assets-fs +0 -0
- package/native/bin/linux-x64/aops-agent-assets-fs +0 -0
- package/native/bin/win32-x64/aops-agent-assets-fs.exe +0 -0
- package/native/manifest.json +49 -0
- package/native/qualifications/win32-x64.json +23 -0
- package/native/tui/darwin-arm64/aops-tui +0 -0
- package/native/tui/win32-x64/aops-tui.exe +0 -0
- package/package.json +6 -4
- package/agent-assets-release/agent-assets/core/0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706/files/references/chatv3/SKILL.md +0 -49
- package/agent-assets-release/agent-assets/core/0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706/files/references/hosted-chat/SKILL.md +0 -64
- package/agent-assets-release/agent-assets/core/0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706/files/user-guides/agentspace.md +0 -1098
- package/agent-assets-release/agent-assets/core/0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706/files/user-guides/chatv3.md +0 -113
- package/assets/agent-assets/core/references/hosted-chat/SKILL.md +0 -64
- package/dist/commands/chat.js +0 -1363
- /package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/aops-cli-core/SKILL.md +0 -0
- /package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/mission/SKILL.md +0 -0
- /package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/sys/SKILL.md +0 -0
- /package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/references/view/SKILL.md +0 -0
- /package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/user-guides/agent-assets.md +0 -0
- /package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/user-guides/aops-system.md +0 -0
- /package/agent-assets-release/agent-assets/core/{0ffc854a8e32500f3d82c10a1e1ee6376d57e616201a323638f0f9caf8fb2706 → 070b0d3126c645890845791b67157fdd9f43a482fda66583e84fb159b30689a5}/files/user-guides/sys.md +0 -0
|
@@ -24,16 +24,15 @@ this gateway loaded.
|
|
|
24
24
|
| durable session intent and resume packs | `references/mission/SKILL.md` |
|
|
25
25
|
| boards, tasks, sprints/plans, issues, feedback, reviews, handoffs | `references/projectman/SKILL.md` |
|
|
26
26
|
| versioned documents, sections, links, search, answer, mirrors | `references/docman/SKILL.md` |
|
|
27
|
-
|
|
|
27
|
+
| encrypted coordination rooms, foreground listen, messages, membership | `references/chatv3/SKILL.md` |
|
|
28
28
|
| structured multi-agent decision/consensus topics | `references/discuss/SKILL.md` |
|
|
29
|
-
| encrypted ChatV3 product channels, invites, sessions, membership | `references/chatv3/SKILL.md` |
|
|
30
29
|
| counters, countries, event store, rate limits | `references/sys/SKILL.md` |
|
|
31
30
|
| choose or explain a working method | `references/working-disciplines/SKILL.md` |
|
|
32
31
|
| run the full optional collaborative session playbook | `references/collaborative-work/SKILL.md` |
|
|
33
32
|
| another installed/custom domain | `aops agent tools --domain <domain> --summary --json` |
|
|
34
33
|
|
|
35
|
-
`aops chat` is
|
|
36
|
-
|
|
34
|
+
`aops chat` is the canonical ChatV3 surface; `aops chatv3` is a compatibility
|
|
35
|
+
alias for the same command tree. Fileman, Tasker/Runner, and the
|
|
37
36
|
interactive loop are not part of the default Community capability closure;
|
|
38
37
|
discover them only if the connected server actually advertises them.
|
|
39
38
|
|
|
@@ -7,7 +7,7 @@ description: Use for durable memory, synopsis, reusable prompts/skills/resources
|
|
|
7
7
|
|
|
8
8
|
Agentspace owns durable agent/operator context and reusable hosted assets.
|
|
9
9
|
Project execution belongs to Projectman; versioned documents belong to Docman.
|
|
10
|
-
|
|
10
|
+
ChatV3 coordination and structured decisions have their own references.
|
|
11
11
|
|
|
12
12
|
Read only the needed section of `../../user-guides/agentspace.md`. Exact flags
|
|
13
13
|
come from live nested help.
|
|
@@ -53,7 +53,7 @@ context. Artifact records are metadata/pointers, not a large binary store.
|
|
|
53
53
|
|
|
54
54
|
For durable session intent and resume packs, load `../mission/SKILL.md` rather
|
|
55
55
|
than the full Agentspace guide. For rooms/messages load
|
|
56
|
-
`../
|
|
56
|
+
`../chatv3/SKILL.md`; for structured consensus load
|
|
57
57
|
`../discuss/SKILL.md`.
|
|
58
58
|
|
|
59
59
|
## Raw discovery fallback
|
|
@@ -72,7 +72,7 @@ supported. Read back the exact record after mutation.
|
|
|
72
72
|
|
|
73
73
|
- Planning, tasks, sprints, issues, feedback, reviews: Projectman.
|
|
74
74
|
- Document graphs, page content, publish/search/answer: Docman.
|
|
75
|
-
-
|
|
75
|
+
- ChatV3 coordination/wake: `aops chat`.
|
|
76
76
|
- Structured decision transcript: `aops discuss`.
|
|
77
|
-
-
|
|
77
|
+
- `aops chatv3`: compatibility alias for `aops chat`.
|
|
78
78
|
- Repo `.aops/**`: derived cache, never the canonical authoring source.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aops-cli-chat
|
|
3
|
+
description: Use for ChatV3 encrypted channels, invitations, agent-owned local sessions, membership, presence, bindings, messages, cursors, and foreground listening through aops chat.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AOPS Chat (ChatV3)
|
|
7
|
+
|
|
8
|
+
`aops chat` is the canonical encrypted ChatV3 channel/room surface for agent
|
|
9
|
+
coordination and product-room work. `aops chatv3` is a compatibility alias for
|
|
10
|
+
the same command tree; it is not a second messaging system.
|
|
11
|
+
|
|
12
|
+
Read only the relevant section of `../../user-guides/chatv3.md`. Exact flags
|
|
13
|
+
come from nested help; direct payloads come from live schema.
|
|
14
|
+
|
|
15
|
+
## Common entry points
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
aops chat --help
|
|
19
|
+
aops chat channel --help
|
|
20
|
+
aops chat session --help
|
|
21
|
+
aops chat member --help
|
|
22
|
+
aops chat send --help
|
|
23
|
+
aops chat read --help
|
|
24
|
+
aops chat listen --help
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Typical foreground coordination:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
aops chat session list --json
|
|
31
|
+
aops chat listen --session <id> --room general --after-seq <n> --timeout-sec 60 --json
|
|
32
|
+
aops chat send --session <id> --room general "<message>" --json
|
|
33
|
+
aops chat read --session <id> --room general --after-seq <n> --mark-delivered --mark-read --json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Keep foreground listening active while work remains. A listen timeout means
|
|
37
|
+
only “no message in this bounded interval”; it does not end the task.
|
|
38
|
+
|
|
39
|
+
Local sessions are isolated by detected agent owner (for example a Codex
|
|
40
|
+
thread), or by `AOPS_CHATV3_SESSION_OWNER` / `--session-owner`. Session ids,
|
|
41
|
+
member tokens, and room keys must never be copied between agent owners or
|
|
42
|
+
pasted into chat, logs, source, or shell history. Legacy shared stores are
|
|
43
|
+
claimed once and migrated into the first local owner that uses that session.
|
|
44
|
+
|
|
45
|
+
`send --mark-read` and `send --mark-delivered` advance cursors only when the
|
|
46
|
+
pre-send cursor is exactly caught up. If another message arrived first, the
|
|
47
|
+
send succeeds but the cursor advance is skipped; read the gap explicitly.
|
|
48
|
+
|
|
49
|
+
For a write not exposed by sugar, inspect the exact live schema first:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
aops agent tools --domain chatv3 --summary --json
|
|
53
|
+
aops agent schema --tool chatv3.<operation> --summary --json
|
|
54
|
+
aops agent invoke --tool chatv3.<operation> --input '@payload.json' --preview --json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
ChatV3 is coordination/wake truth, not the durable Projectman review record or
|
|
58
|
+
the structured `discuss` transcript. Bind or summarize outcomes into the
|
|
59
|
+
correct owner when durability matters.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: aops-collaborative-work
|
|
3
|
-
description: Use when the operator explicitly wants the full AOPS session playbook for solo work, async review, or
|
|
3
|
+
description: Use when the operator explicitly wants the full AOPS session playbook for solo work, async review, or ChatV3 room collaboration with Projectman-backed execution.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# AOPS collaborative work
|
|
@@ -53,23 +53,20 @@ The reviewer records the result in Projectman. Material findings become
|
|
|
53
53
|
Projectman issues or bounded fix slices; chat is only the optional wake channel.
|
|
54
54
|
Do not claim review completion from a message alone.
|
|
55
55
|
|
|
56
|
-
## Mode 3:
|
|
56
|
+
## Mode 3: ChatV3 room
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
aops chat
|
|
60
|
-
|
|
61
|
-
--
|
|
62
|
-
aops chat
|
|
63
|
-
|
|
64
|
-
--
|
|
65
|
-
aops chat room brief --room-id <id> --for <peer>
|
|
66
|
-
aops chat listen --for <agent> --room-id <id> --timeout-sec 570 --json
|
|
59
|
+
aops chat join "<invite>" --handle <agent> --save-session --json
|
|
60
|
+
aops chat binding add --session <id> --room general \
|
|
61
|
+
--binding-type projectman.kanban-task --ref-id <task-id> --json
|
|
62
|
+
aops chat room brief --session <id> --room general --for <peer> --json
|
|
63
|
+
aops chat listen --session <id> --room general \
|
|
64
|
+
--after-seq <last-seq> --timeout-sec 60 --json
|
|
67
65
|
```
|
|
68
66
|
|
|
69
67
|
Each participant owns a non-overlapping slice and reports completion with
|
|
70
|
-
validation evidence. Use `aops discuss` only for a material consensus decision
|
|
71
|
-
|
|
72
|
-
task.
|
|
68
|
+
validation evidence. Use `aops discuss` only for a material consensus decision.
|
|
69
|
+
`aops chatv3` remains an alias for this same ChatV3 surface.
|
|
73
70
|
|
|
74
71
|
## During work
|
|
75
72
|
|
|
@@ -6,7 +6,7 @@ description: Use for a structured server-canonical design decision or consensus
|
|
|
6
6
|
# AOPS Discuss
|
|
7
7
|
|
|
8
8
|
`aops discuss` owns a durable decision transcript and conclusion. Use hosted
|
|
9
|
-
`aops chat` to wake/coordinate peers and Projectman to track review/execution.
|
|
9
|
+
`aops chat` (ChatV3) to wake/coordinate peers and Projectman to track review/execution.
|
|
10
10
|
Do not start a discussion ritual for a small reversible implementation choice.
|
|
11
11
|
|
|
12
12
|
The complete owner and troubleshooting model is in the Discuss sections of
|
|
@@ -52,7 +52,7 @@ reports no missing final stances. Outputs must contain real decisions and
|
|
|
52
52
|
follow-ups, not `_TBD_` placeholders.
|
|
53
53
|
|
|
54
54
|
There is no automatic bridge: explicitly reference the concluded topic from a
|
|
55
|
-
Projectman task/review/issue or durable memory, then send a short
|
|
55
|
+
Projectman task/review/issue or durable memory, then send a short ChatV3
|
|
56
56
|
wake if another agent must act.
|
|
57
57
|
|
|
58
58
|
For raw operations:
|
|
@@ -40,6 +40,12 @@ import for intentional bulk import, not for a one-page edit. Every mutation is
|
|
|
40
40
|
preview/apply guarded where supported; read back the current version after
|
|
41
41
|
publishing.
|
|
42
42
|
|
|
43
|
+
Compose or materialize the exact candidate before review and retain its
|
|
44
|
+
version ids plus `contentHash`. Put the complete immutable evidence reference
|
|
45
|
+
in both the Projectman review request and an approved review result. Saving a
|
|
46
|
+
mutable draft changes its hash and requires a linked re-review; a page-version
|
|
47
|
+
id alone is not approval evidence.
|
|
48
|
+
|
|
43
49
|
## Search, answer, publish, and mirrors
|
|
44
50
|
|
|
45
51
|
```bash
|
|
@@ -65,6 +65,12 @@ Use an issue for a material blocker/defect, feedback for observations or
|
|
|
65
65
|
suggestions, and review-request/result for an auditable review gate. A chat
|
|
66
66
|
message may wake a reviewer but is not the review record.
|
|
67
67
|
|
|
68
|
+
For mutable Docman drafts, bind the review request to the exact composed
|
|
69
|
+
evidence reference containing the page/document version id and its
|
|
70
|
+
`contentHash=sha256:<digest>`. An approved result must repeat that complete
|
|
71
|
+
reference exactly. A later draft edit changes the hash, so the earlier approval
|
|
72
|
+
does not cover the new bytes; open a linked re-review.
|
|
73
|
+
|
|
68
74
|
## Status discipline
|
|
69
75
|
|
|
70
76
|
1. Inspect the record before changing status.
|
|
@@ -50,7 +50,7 @@ aops mission create --objective "<objective>" \
|
|
|
50
50
|
1. Put every implementation slice in Projectman before or at kickoff.
|
|
51
51
|
2. Read live help/schema instead of guessing flags or payloads.
|
|
52
52
|
3. Validate in proportion to risk and record only evidence actually produced.
|
|
53
|
-
4. Use
|
|
53
|
+
4. Use ChatV3 (`aops chat`) for coordination/wake, Discuss for consensus, and
|
|
54
54
|
Projectman review-request/result for review truth.
|
|
55
55
|
5. Keep scope changes and blockers explicit; do not fabricate peer approval.
|
|
56
56
|
6. Ordinary stop writes status/handoff and keeps mission/board/room open.
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
<!-- Public packaged Agentspace guide. Current nested help and live schema win on drift. -->
|
|
2
|
+
|
|
3
|
+
# Agentspace User Guide
|
|
4
|
+
|
|
5
|
+
## 1 Ownership model
|
|
6
|
+
|
|
7
|
+
Agentspace owns durable agent/operator context and reusable hosted assets:
|
|
8
|
+
memory, synopsis, prompts, skills, resources, artifacts, activity, experience,
|
|
9
|
+
agent profiles, missions, and structured discussion topics.
|
|
10
|
+
|
|
11
|
+
It does not own every part of a work session:
|
|
12
|
+
|
|
13
|
+
| Need | Canonical owner |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| task, sprint, issue, review request/result, handoff | Projectman |
|
|
16
|
+
| versioned page/document content and retrieval | Docman |
|
|
17
|
+
| encrypted coordination room, messages, cursors, foreground listen | ChatV3 via `aops chat` |
|
|
18
|
+
| structured decision stances and conclusion | Agentspace Discuss via `aops discuss` |
|
|
19
|
+
| repository files and commits | Git/source repository |
|
|
20
|
+
|
|
21
|
+
The former Agentspace hosted-chat sugar and its `room/inbox/catchup` command
|
|
22
|
+
shape are retired from `aops chat`. Existing server data may remain for
|
|
23
|
+
historical readback, but new coordination uses ChatV3. `aops chatv3` is only a
|
|
24
|
+
compatibility alias for `aops chat`.
|
|
25
|
+
|
|
26
|
+
## 2 Startup and resume ladder
|
|
27
|
+
|
|
28
|
+
Prefer small, token-efficient reads:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
aops mem brief --subject project --json
|
|
32
|
+
aops mem search --q "<decision or constraint>" --limit 10 --json
|
|
33
|
+
aops mission resume --id <mission-id> --json
|
|
34
|
+
aops view digest --task <task-id> --depth shallow
|
|
35
|
+
aops pm review-request list --status open --json
|
|
36
|
+
aops chat session list --json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Do not preload every memory, guide, room transcript, or PM record. Resolve
|
|
40
|
+
references only when the current task needs them.
|
|
41
|
+
|
|
42
|
+
## 3 Durable memory and synopsis
|
|
43
|
+
|
|
44
|
+
Memory is for facts that must survive the current context: decisions,
|
|
45
|
+
constraints, bounded handoffs, blockers, validation state, and the next safe
|
|
46
|
+
action. It is not a duplicate task tracker and must not contain secrets, large
|
|
47
|
+
logs, raw chat transcripts, or full documents.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
aops mem list --durability sticky --json
|
|
51
|
+
aops mem search --q "migration decision" --limit 10 --json
|
|
52
|
+
aops mem write --mode decision --subject project \
|
|
53
|
+
--content "<bounded evidence and decision>" --apply --json
|
|
54
|
+
aops mem checkpoint --help
|
|
55
|
+
aops mem synopsis --subject project --json
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
A good checkpoint contains the request/purpose, PM and repository refs,
|
|
59
|
+
concrete outcome, validation/review evidence, open risk, and next action.
|
|
60
|
+
Write at meaningful milestones—not after every message or small edit.
|
|
61
|
+
|
|
62
|
+
Generated synopsis is a read model over durable context. Rebuild/read it when
|
|
63
|
+
resume quality is poor; do not treat it as an independent source of truth.
|
|
64
|
+
|
|
65
|
+
## 4 Reusable hosted assets
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
aops prompt list --json
|
|
69
|
+
aops skill list --json
|
|
70
|
+
aops resource list --json
|
|
71
|
+
aops artifact list --json
|
|
72
|
+
aops exp list --json
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Prompts and skills are versioned server records. Resources point to knowledge;
|
|
76
|
+
artifacts describe or reference outputs and are not an unlimited binary store.
|
|
77
|
+
Create/update/version/publish commands are guarded writes. Inspect help first,
|
|
78
|
+
use idempotency for retries, and read back the exact version after mutation.
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
aops skill version create --help
|
|
82
|
+
aops prompt version create --help
|
|
83
|
+
aops resource create --help
|
|
84
|
+
aops artifact create --help
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Never put credentials, private keys, bearer/member tokens, or machine-local
|
|
88
|
+
secret paths into hosted assets.
|
|
89
|
+
|
|
90
|
+
## 5 Structured discussions
|
|
91
|
+
|
|
92
|
+
Use `aops discuss` only when a material decision needs independent stances and
|
|
93
|
+
a durable conclusion. Small reversible implementation choices do not need a
|
|
94
|
+
discussion ritual.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
aops discuss start --title "<decision>" --question "<question>" \
|
|
98
|
+
--participant <agent-a> --participant <agent-b> --apply --json
|
|
99
|
+
aops discuss turn --topic <topic> --agent <agent> \
|
|
100
|
+
--kind statement --from-file ./turn.md --apply --json
|
|
101
|
+
aops discuss wait --topic <topic> --agent <agent> \
|
|
102
|
+
--timeout-sec 540 --interval-sec 5 --json
|
|
103
|
+
aops discuss turn --topic <topic> --agent <agent> \
|
|
104
|
+
--kind final-stance --from-file ./final.md --apply --json
|
|
105
|
+
aops discuss conclude --topic <topic> --apply --json
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Never invent another participant's stance. Conclude only after every required
|
|
109
|
+
participant recorded a final stance and the status readback reports no missing
|
|
110
|
+
finals. Link the conclusion into Projectman or memory.
|
|
111
|
+
|
|
112
|
+
Discussion waits and ChatV3 listeners are separate mechanisms. A Discuss turn
|
|
113
|
+
does not wake a ChatV3 listener automatically. Send a short `aops chat send`
|
|
114
|
+
message with the topic/turn reference when a peer must act.
|
|
115
|
+
|
|
116
|
+
## 6 ChatV3 coordination
|
|
117
|
+
|
|
118
|
+
ChatV3 owns coordination and wake traffic:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
aops chat join "<invite>" --handle <agent> --save-session --json
|
|
122
|
+
aops chat binding add --session <session> --room general \
|
|
123
|
+
--binding-type projectman.review-request --ref-id <rr-id> --json
|
|
124
|
+
aops chat send --session <session> --room general \
|
|
125
|
+
"REVIEW READY: <rr-id>" --json
|
|
126
|
+
aops chat listen --session <session> --room general \
|
|
127
|
+
--after-seq <last-seq> --timeout-sec 60 --json
|
|
128
|
+
aops chat read --session <session> --room general \
|
|
129
|
+
--after-seq <last-seq> --mark-delivered --mark-read --json
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Keep foreground listening while room-owned work remains. Timeout exit `22`
|
|
133
|
+
means only that the bounded interval was quiet. Read PM/RR/Docman/Discuss refs
|
|
134
|
+
before acting, post a short ACK, and advance cursors only for messages actually
|
|
135
|
+
consumed.
|
|
136
|
+
|
|
137
|
+
Session credentials are isolated by local agent owner. Do not share a session
|
|
138
|
+
id or store between agents. See the ChatV3 guide for migration and cursor-gap
|
|
139
|
+
rules.
|
|
140
|
+
|
|
141
|
+
## 7 Review pairing
|
|
142
|
+
|
|
143
|
+
Projectman is the review truth:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
aops pm review-request create --help
|
|
147
|
+
aops pm review-request get --id <rr-id> --json
|
|
148
|
+
aops pm review-request result --help
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Use ChatV3 only to wake the reviewer and point to the canonical RR. Material
|
|
152
|
+
review findings become Projectman issues. Re-review is a child RR, not an edit
|
|
153
|
+
of the prior immutable result.
|
|
154
|
+
|
|
155
|
+
For Docman drafts, include document/page identifiers plus the compose or
|
|
156
|
+
materialize `contentHash` in the RR reference. The result must repeat the exact
|
|
157
|
+
same evidence reference. If the draft hash changes, the old acceptance covers
|
|
158
|
+
only the old bytes and a new re-review is required.
|
|
159
|
+
|
|
160
|
+
## 8 Missions and closeout
|
|
161
|
+
|
|
162
|
+
Missions preserve objective and policy; Projectman preserves implementation
|
|
163
|
+
state. Ordinary stop writes a bounded handoff and keeps the mission/task/room
|
|
164
|
+
open. Operator-approved closeout verifies:
|
|
165
|
+
|
|
166
|
+
1. source and PM state are consistent;
|
|
167
|
+
2. requested tests and independent reviews are recorded;
|
|
168
|
+
3. material findings are resolved or explicitly deferred;
|
|
169
|
+
4. the final ChatV3 message points to durable records;
|
|
170
|
+
5. only then are task/mission/room lifecycle states closed as authorized.
|
|
171
|
+
|
|
172
|
+
Do not archive a room merely because one listener timed out. Do not mark a
|
|
173
|
+
review accepted from a chat message alone.
|
|
174
|
+
|
|
175
|
+
## 9 Raw discovery and troubleshooting
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
aops agent tools --domain agentspace --summary --json
|
|
179
|
+
aops agent schema --tool agentspace.<operation> --summary --json
|
|
180
|
+
aops agent invoke --tool agentspace.<operation> \
|
|
181
|
+
--input '@payload.json' --preview --json
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Use the detail ladder: this guide → nested help → live schema → guarded raw
|
|
185
|
+
invoke. If the connected server advertises capabilities absent from this
|
|
186
|
+
public core, trust the live catalog for availability but keep owner and secret
|
|
187
|
+
boundaries intact.
|
|
188
|
+
|
|
189
|
+
Common failures:
|
|
190
|
+
|
|
191
|
+
- quiet listener: continue from the last acknowledged sequence; timeout is not
|
|
192
|
+
completion;
|
|
193
|
+
- PM record changed but peer slept: send a ChatV3 wake with the PM ref;
|
|
194
|
+
- send succeeded but cursor did not advance: read the reported unseen gap;
|
|
195
|
+
- local session not found after upgrade: load the exact legacy session once so
|
|
196
|
+
it can be claimed by the current agent owner;
|
|
197
|
+
- owner mismatch: use the correct agent session or explicit owner; never copy
|
|
198
|
+
another agent's credential store.
|
|
@@ -577,39 +577,38 @@ Kural:
|
|
|
577
577
|
|
|
578
578
|
#### 16.2.1 Overview
|
|
579
579
|
|
|
580
|
-
`discuss`, `chat` ve `pm review-request` ayri
|
|
580
|
+
`discuss`, `chat` ve `pm review-request` ayri sahiplik yuzeyleridir: karar/konsensus `discuss`, koordinasyon/uyandirma ChatV3 (`chat`), review ise Projectman (`pm review-request`). `aops chatv3`, ayni ChatV3 komut agacinin compatibility alias'idir; ikinci bir chat sistemi degildir.
|
|
581
581
|
|
|
582
582
|
| Ihtiyac | Komut | Skill |
|
|
583
583
|
|--------------------------------------------------------|--------------------------------|------------------|
|
|
584
584
|
| Yapilandirilmis karar transcript'i + sonuc kararlari | `aops discuss start` | `aops-cli-discuss` |
|
|
585
585
|
| Agent sirasi/lifecycle icin karar dongusu | `aops discuss wait`, `aops discuss turn`, `aops discuss conclude` | `aops-cli-discuss` |
|
|
586
|
-
| Multi-agent koordinasyon/uyandirma odasi | `aops chat
|
|
587
|
-
|
|
|
588
|
-
| Oda trafigini dinleme / unread okuma | `aops chat listen`, `aops chat catchup` | `aops-cli-chat` |
|
|
586
|
+
| Multi-agent koordinasyon/uyandirma odasi | `aops chat join`, `aops chat send` | `aops-cli-chat` |
|
|
587
|
+
| Oda trafigini foreground dinleme / unread okuma | `aops chat listen`, `aops chat read` | `aops-cli-chat` |
|
|
589
588
|
| Review iste / sonucla / re-review | `aops pm review-request create`, `aops pm review-request result` | `aops-cli-projectman` |
|
|
590
589
|
|
|
591
|
-
|
|
590
|
+
Yapilandirilmis stance `discuss turn`/`conclude` ile transcript'e yazilir; karsi agent'i uyandirmak icin bagli ChatV3 odasina topic/RR ref'i tasiyan kisa bir `aops chat send` mesaji yazilir. Chat mesaji wake sinyalidir; karar ve review kaydinin yerine gecmez.
|
|
592
591
|
|
|
593
592
|
Slug-first operator contract:
|
|
594
593
|
|
|
595
|
-
1. `discuss start --slug <slug>` topic frontmatter'ina canonical slug yazar.
|
|
594
|
+
1. `discuss start --slug <slug>` topic frontmatter'ina canonical slug yazar. ChatV3 channel/room slug'lari join/create sonucu okunur.
|
|
596
595
|
2. Selector'lar artik exact slug'i operator-facing varsayilan kabul eder; legacy folder name ve short id debug/legacy fallback'tir. Operator-facing komut, handoff ve chat ping'lerde slug kullan; raw UUID'i debug/JSON disinda tasima.
|
|
597
596
|
3. Legacy folder-name veya implicit short-id match kazanirsa JSON envelope `cliDeprecationWarnings` dondurur. Debug ihtiyaci disinda bu uyarilar "slug'a gec" sinyali sayilir.
|
|
598
597
|
4. Explicit debug selector gereken yerde `--short-id <8char>` kullan; bu explicit yol warning uretmez, implicit short-id ise `cliDeprecationWarnings` uretir. Ambiguous slug/folder/short-id durumunda yalniz tek active kayit varsa `--prefer-active` onu secer; kalici handoff'larda yine slug yazilir. Discuss komutlarinda `--short-id` topic selector'udur.
|
|
599
|
-
5. Yeni agent bootstrap'i:
|
|
598
|
+
5. Yeni agent bootstrap'i: `aops chat session list`, `room brief`, sonra `listen --after-seq <cursor>`; bekleyen review icin `aops pm review-request list --json`.
|
|
600
599
|
6. `discuss conclude`, `consensus.md`, agent final stance, `disagreement.md` ve `open-questions.md` dosyalarini `_TBD_` placeholder olarak birakmaz. Topic'i baslatan agent output owner'dir; finalize/closeout oncesi bu dosyalari review edip gerekiyorsa zenginlestirir.
|
|
601
600
|
|
|
602
601
|
### 16.3 PM window + chat-room baglama ve active window
|
|
603
602
|
|
|
604
603
|
#### 16.3.1 Overview
|
|
605
604
|
|
|
606
|
-
Iki ajanli execution pencerelerinde Projectman window'u tek olsun. Board kickoff acildiysa ayni board'un aktif task/sprint'i varsayilan olarak reuse edilir; yeni task ve sprint ancak aktif pencere yoksa olusturulur.
|
|
605
|
+
Iki ajanli execution pencerelerinde Projectman window'u tek olsun. Board kickoff acildiysa ayni board'un aktif task/sprint'i varsayilan olarak reuse edilir; yeni task ve sprint ancak aktif pencere yoksa olusturulur. Koordinasyon, PM ref'i baglanmis ChatV3 odasinda yapilir.
|
|
607
606
|
|
|
608
607
|
```bash
|
|
609
608
|
aops pm board kickoff --board ops --title "AOPS PM tooling triage" --goal "..." --apply --json
|
|
610
|
-
# Koordinasyon odasini
|
|
611
|
-
aops chat
|
|
612
|
-
|
|
609
|
+
# Koordinasyon odasini PM ref'ine bagla:
|
|
610
|
+
aops chat binding add --session <session> --room general \
|
|
611
|
+
--binding-type projectman.board --ref-id <board-id> --title "Active board" --json
|
|
613
612
|
```
|
|
614
613
|
|
|
615
614
|
Explicit task/sprint secimi gerektiğinde ilgili `pm sprint`/`pm utask` komutlarini
|
|
@@ -621,17 +620,17 @@ aktif board referanslari tercih edilir.
|
|
|
621
620
|
|
|
622
621
|
#### 16.4.1 Overview
|
|
623
622
|
|
|
624
|
-
Operator "tartisin"
|
|
623
|
+
Operator "tartisin" veya "beraber arastirin" dediginde iki taraf bagimsiz context uretir, `discuss` topic'inde yakinsar ve ChatV3 ile uyanir. Review tarafi Projectman'dedir.
|
|
625
624
|
|
|
626
625
|
Ana ajan akisi:
|
|
627
626
|
|
|
628
|
-
1. `aops discuss start --slug <slug>` ile hedefi/agent'lari tasiyan bir karar topic'i ac;
|
|
627
|
+
1. `aops discuss start --slug <slug>` ile hedefi/agent'lari tasiyan bir karar topic'i ac; mevcut ChatV3 odasina topic binding ekle.
|
|
629
628
|
2. Operator istegini, repo root'larini, kisitlari ve beklenen deliverable'lari topic'in ilk turn'une (veya odaya context mesaji olarak) yaz.
|
|
630
629
|
3. Karsi ajana net bir directive ver (oda mesaji veya `pm review-request`): "bagimsiz arastir, sadece benim draft'imi review etme" acik olsun. Beklenen ciktida current-state map, oneriler, tradeoff'lar, riskler ve acik sorular yer alsin.
|
|
631
|
-
4. Directive'i odaya `chat
|
|
630
|
+
4. Directive'i odaya `aops chat send` ile duyur; hangi session/room/topic'in dinlenecegini netlestir.
|
|
632
631
|
5. Ana ajan kendi arastirmasini paralel yapar ve kendi stance'ini `discuss turn` ile topic'e yazar.
|
|
633
|
-
6. Karar turn'unu odaya kisa bir `chat
|
|
634
|
-
7. Cevap icin
|
|
632
|
+
6. Karar turn'unu odaya kisa bir `aops chat send` ile duyur; topic id/turn ve istenen sorular yazilsin.
|
|
633
|
+
7. Cevap icin `aops discuss wait ...` ve `aops chat listen --session <session> --room general --after-seq <cursor> --timeout-sec 60 --json` dongulerini dogru cursor ile surdur.
|
|
635
634
|
8. Cevap gelince sadece oda TL;DR'ini degil, karsi ajanin full `discuss turn`/scratch dosyasini oku. Agreement, correction, pushback ve operator karari isteyen noktalar icin yeni bir `discuss turn` yaz; odaya ping at.
|
|
636
635
|
9. Ciddi ayrilik varsa bir bounded loop daha ver. Mimari/yuksek etki konularda tek oda cevabindan sonra final plan yazma.
|
|
637
636
|
10. Implementasyona gecmeden once en az iki realtime tur tamamlanmis olmali ve sonuc `discuss conclude` ile final-stance/consensus olarak yazilmali. Direkt implementasyon + sonradan review yalniz operator bunu acikca override/urgent mod olarak isterse uygulanir; override da kaydedilir.
|
|
@@ -639,27 +638,27 @@ Ana ajan akisi:
|
|
|
639
638
|
|
|
640
639
|
Karsi ajan akisi:
|
|
641
640
|
|
|
642
|
-
1. Directive'i ele al ve
|
|
641
|
+
1. Directive'i ele al, odaya ACK yaz ve yalniz okudugun mesaja kadar cursor'u `chat read --mark-delivered --mark-read` ile ilerlet.
|
|
643
642
|
2. Istenen kaynaklardan bagimsiz arastirma yap; ana ajanin draft'ini tek truth sayma.
|
|
644
643
|
3. Kendi research/stance'ini `discuss turn` ile yaz ve oda cevabinda topic id/turn ile kisa ozet ver.
|
|
645
644
|
4. Ana ajan kanitli pushback verirse yeni bir `discuss turn` ile hangi noktalari kabul ettigini, hangilerini surdurdugunu ve hangilerini operator'e biraktigini belirt.
|
|
646
645
|
|
|
647
646
|
Minimum kalite kapisi: iki ajanin da en az bir bagimsiz context/research turn'u olur; ya da ana ajan bounded timeout'u ve "karsi cevap beklenmeden ilerleniyor" notunu operator'e acikca yazar.
|
|
648
647
|
|
|
649
|
-
### 16.5 ChatV3
|
|
648
|
+
### 16.5 ChatV3 agent-owned room context
|
|
650
649
|
|
|
651
650
|
#### 16.5.1 Overview
|
|
652
651
|
|
|
653
|
-
`aops
|
|
652
|
+
`aops chat` canonical ChatV3 surface'idir; `aops chatv3` ayni komut agacinin compatibility alias'idir. Invite/session/member token ve room epoch key context'i agent-owner bazli local store'da sifreli tutulur.
|
|
654
653
|
|
|
655
654
|
Common commands:
|
|
656
655
|
|
|
657
656
|
```bash
|
|
658
|
-
aops
|
|
659
|
-
aops
|
|
660
|
-
aops
|
|
661
|
-
aops
|
|
662
|
-
aops
|
|
657
|
+
aops chat listen --session codex --room general --after-seq <last-seq> --timeout-sec 60 --json
|
|
658
|
+
aops chat binding add --session codex --room general --binding-type projectman.review-request --ref-id <rr-id> --title "Slice review" --json
|
|
659
|
+
aops chat binding list --session codex --room general --json
|
|
660
|
+
aops chat room brief --session codex --room general --for claude --json
|
|
661
|
+
aops chat room summary --session codex --room general --after-seq <last-seq> --json
|
|
663
662
|
```
|
|
664
663
|
|
|
665
664
|
Kural:
|
|
@@ -669,6 +668,8 @@ Kural:
|
|
|
669
668
|
3. `room brief` guidance, members, presence, bindings, cursor refs ve recommended next reads iceren read-only onboarding pack'tir.
|
|
670
669
|
4. `room summary` agent-composed narrative digest pack'tir; `sourceRef.type=chatv3.room`, seq range, nextReadRefs, summarization-only sourceMessages ve `NARRATIVE-DIGEST` slot'lu memoryWrite recipe verir.
|
|
671
670
|
5. `sourceMessages` yalniz ozetleme girdisidir; memory'ye aynen yazilmaz. Agent once abstractive narrative digest uretir, sonra digest + refs + seq range'i explicit `mem checkpoint` veya `mem summary` ile yazar.
|
|
671
|
+
6. Default store agent owner'a gore ayrilir. Baska agent'in session/store'unu secmek fail-closed olur; legacy shared session ilk owner tarafindan tek sefer claim edilir.
|
|
672
|
+
7. `send --mark-read/--mark-delivered`, arada unseen mesaj varsa cursor'u ilerletmez; `result.cursorAdvance` gap'i aciklar.
|
|
672
673
|
|
|
673
674
|
## 17 Resource sugar
|
|
674
675
|
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
<!-- Public packaged snapshot from canonical slug:aops ChatV3 guidance. Installed command --help and live schema win on drift. -->
|
|
2
|
+
|
|
3
|
+
# ChatV3 User Guide
|
|
4
|
+
|
|
5
|
+
## 1 Canonical CLI surface
|
|
6
|
+
|
|
7
|
+
`aops chat` is the canonical ChatV3 command tree. `aops chatv3` is retained as
|
|
8
|
+
a compatibility alias and exposes the same behavior. The former Agentspace
|
|
9
|
+
hosted-chat sugar is no longer projected as a second `aops chat` system.
|
|
10
|
+
|
|
11
|
+
| Need | Command |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| Join from an invite | `aops chat join "<invite>" --handle <agent> --save-session --json` |
|
|
14
|
+
| Send text | `aops chat send --session <id> --room <slug> "<text>" --json` |
|
|
15
|
+
| Read once | `aops chat read --session <id> --room <slug> --after-seq <n> --json` |
|
|
16
|
+
| Foreground wait | `aops chat listen --session <id> --room <slug> --after-seq <n> --timeout-sec 60 --json` |
|
|
17
|
+
| Bind PM/doc refs | `aops chat binding add --session <id> --room <slug> --binding-type <type> --ref-id <id> --json` |
|
|
18
|
+
| Roster/presence | `aops chat member list ...`, `aops chat presence set ...` |
|
|
19
|
+
| Local sessions | `aops chat session list|get|forget ... --json` |
|
|
20
|
+
|
|
21
|
+
`read` and `listen` return `messages`, `messageCount`, `latestSeq`, and
|
|
22
|
+
`caughtUp`. `listen` exits `0` when it finds messages and `22` on timeout. A
|
|
23
|
+
timeout is not task completion: continue bounded foreground listening while
|
|
24
|
+
the room still owns active work.
|
|
25
|
+
|
|
26
|
+
## 2 Agent-owned local session store
|
|
27
|
+
|
|
28
|
+
ChatV3 session records include encrypted member tokens plus either E2E wrap
|
|
29
|
+
material or server-managed room epoch keys. They are local credentials and
|
|
30
|
+
must never appear in messages, source files, logs, PM records, or shell
|
|
31
|
+
history.
|
|
32
|
+
|
|
33
|
+
The default store is isolated by local agent owner under
|
|
34
|
+
`~/.aops/chatv3/<owner-hash>/sessions.json`. Owner selection is:
|
|
35
|
+
|
|
36
|
+
1. explicit `--session-owner <id>`;
|
|
37
|
+
2. `AOPS_CHATV3_SESSION_OWNER`;
|
|
38
|
+
3. detected Codex or Claude session identity;
|
|
39
|
+
4. the local interactive operator identity.
|
|
40
|
+
|
|
41
|
+
The raw identity is hashed before it is persisted or shown. Each owner also
|
|
42
|
+
has a separate encryption key file. Passing a store owned by a different
|
|
43
|
+
agent fails closed. A legacy `~/.aops/chatv3-sessions.json` session is claimed
|
|
44
|
+
once and copied into the first owner that loads it; another owner cannot claim
|
|
45
|
+
that same legacy session afterward.
|
|
46
|
+
|
|
47
|
+
`--store-path` remains an advanced exact-path override. Even with that
|
|
48
|
+
override, the store header must match the current owner.
|
|
49
|
+
|
|
50
|
+
## 3 Cursor safety
|
|
51
|
+
|
|
52
|
+
Use `read` or `listen` to consume messages and then advance delivered/read
|
|
53
|
+
cursors to the highest message actually returned.
|
|
54
|
+
|
|
55
|
+
`send --mark-delivered --mark-read` is guarded. Before sending, the CLI reads
|
|
56
|
+
the current member receipt. It advances to the sent sequence only when the
|
|
57
|
+
previous cursor is exactly `sentSeq - 1`. If another message arrived in the
|
|
58
|
+
gap, the message is still sent but `result.cursorAdvance` reports
|
|
59
|
+
`unseen_message_gap` and the cursor is not advanced. Read the missing range,
|
|
60
|
+
then mark it explicitly. This prevents a concurrent sender from making an
|
|
61
|
+
unseen peer message appear read.
|
|
62
|
+
|
|
63
|
+
## 4 Encryption modes and invites
|
|
64
|
+
|
|
65
|
+
| Mode | Cipher suite | Invite fragment | Content access model |
|
|
66
|
+
| --- | --- | --- | --- |
|
|
67
|
+
| `e2e` | `v0-shared-epoch` | `#<keyId>.<accessSecret>.<wrapSecret>` | server-blind content; clients require wrap/recovery material |
|
|
68
|
+
| `server-encrypted` | `v1-server-managed` | `#srv.<keyId>.<accessSecret>` | server-managed encryption; server can access message content |
|
|
69
|
+
|
|
70
|
+
Cockpit creates `server-encrypted` channels by default and offers `e2e` as the
|
|
71
|
+
stricter client-managed option. Documentation must not describe
|
|
72
|
+
`server-encrypted` as E2E.
|
|
73
|
+
|
|
74
|
+
Removing a member blocks future member-auth reads, re-mint, and managed epoch
|
|
75
|
+
key reads. It cannot erase material already fetched by that member; rotate keys
|
|
76
|
+
when stronger post-removal secrecy is required.
|
|
77
|
+
|
|
78
|
+
## 5 Coordination boundaries
|
|
79
|
+
|
|
80
|
+
ChatV3 messages wake and coordinate agents. Durable execution/review truth
|
|
81
|
+
lives in Projectman; structured design stances and conclusions live in
|
|
82
|
+
`aops discuss`; durable narrative handoff belongs in memory. Bind the relevant
|
|
83
|
+
PM, Docman, Discuss, or repository reference to the room, and include the same
|
|
84
|
+
reference in review requests/results.
|
|
85
|
+
|
|
86
|
+
Room summaries expose source messages only as summarization input. Persist an
|
|
87
|
+
abstractive digest plus refs and sequence range, never a verbatim transcript.
|
|
88
|
+
|
|
89
|
+
## 6 Membership and Cockpit
|
|
90
|
+
|
|
91
|
+
Members are `active` or `removed`; standard roles are `owner`, `member`,
|
|
92
|
+
`operator`, and `observer`. Presence is room-scoped and uses `active`, `idle`,
|
|
93
|
+
`working`, `reviewing`, `blocked`, or `offline`.
|
|
94
|
+
|
|
95
|
+
`aops chat leave` is the self-removal path. Owners/operators may remove other
|
|
96
|
+
active members. Cockpit must keep bearer/member tokens out of local storage
|
|
97
|
+
and visible text, expose room guidance and cursor state, and preserve honest
|
|
98
|
+
copy for each encryption mode.
|