@aopslabs/aops 0.2.0

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.
Files changed (171) hide show
  1. package/LICENSE +19 -0
  2. package/NOTICE +7 -0
  3. package/README.md +203 -0
  4. package/assets/agent-assets/core/SKILL.md +49 -0
  5. package/assets/agent-assets/core/references/agentspace/SKILL.md +78 -0
  6. package/assets/agent-assets/core/references/aops-cli-core/SKILL.md +108 -0
  7. package/assets/agent-assets/core/references/chatv3/SKILL.md +48 -0
  8. package/assets/agent-assets/core/references/collaborative-work/SKILL.md +85 -0
  9. package/assets/agent-assets/core/references/discuss/SKILL.md +66 -0
  10. package/assets/agent-assets/core/references/docman/SKILL.md +69 -0
  11. package/assets/agent-assets/core/references/hosted-chat/SKILL.md +64 -0
  12. package/assets/agent-assets/core/references/mission/SKILL.md +54 -0
  13. package/assets/agent-assets/core/references/projectman/SKILL.md +86 -0
  14. package/assets/agent-assets/core/references/sys/SKILL.md +36 -0
  15. package/assets/agent-assets/core/references/view/SKILL.md +58 -0
  16. package/assets/agent-assets/core/references/working-disciplines/SKILL.md +69 -0
  17. package/assets/agent-assets/core/user-guides/agent-assets.md +81 -0
  18. package/assets/agent-assets/core/user-guides/agentspace.md +1098 -0
  19. package/assets/agent-assets/core/user-guides/aops-cli.md +1107 -0
  20. package/assets/agent-assets/core/user-guides/aops-system.md +63 -0
  21. package/assets/agent-assets/core/user-guides/chatv3.md +113 -0
  22. package/assets/agent-assets/core/user-guides/docman.md +162 -0
  23. package/assets/agent-assets/core/user-guides/projectman.md +212 -0
  24. package/assets/agent-assets/core/user-guides/sys.md +94 -0
  25. package/assets/agent-assets/core/user-guides/working-disciplines.md +588 -0
  26. package/assets/agent-assets/gateway/aops/SKILL.md +14 -0
  27. package/assets/r6-remote-session-baseline.json +19 -0
  28. package/assets/skills/aops-install/SKILL.md +231 -0
  29. package/assets/skills/aops-install/agents/openai.yaml +4 -0
  30. package/dist/commands/activity.js +352 -0
  31. package/dist/commands/agent-profile.js +653 -0
  32. package/dist/commands/agent.js +710 -0
  33. package/dist/commands/agents-md.js +125 -0
  34. package/dist/commands/api.js +84 -0
  35. package/dist/commands/archive.js +873 -0
  36. package/dist/commands/artifact.js +535 -0
  37. package/dist/commands/assets.js +1414 -0
  38. package/dist/commands/auth/device-login.js +1 -0
  39. package/dist/commands/auth/legacy-export.js +177 -0
  40. package/dist/commands/auth/login.js +426 -0
  41. package/dist/commands/chat.js +1363 -0
  42. package/dist/commands/chatv3.js +1684 -0
  43. package/dist/commands/checkpoint.js +549 -0
  44. package/dist/commands/commercial-artifact.js +475 -0
  45. package/dist/commands/commercial-license.js +594 -0
  46. package/dist/commands/community-auth.js +62 -0
  47. package/dist/commands/community-cockpit.js +185 -0
  48. package/dist/commands/community-console.js +109 -0
  49. package/dist/commands/community-doctor.js +335 -0
  50. package/dist/commands/community-server.js +2062 -0
  51. package/dist/commands/community-setup.js +284 -0
  52. package/dist/commands/discuss.js +1448 -0
  53. package/dist/commands/doc.js +5219 -0
  54. package/dist/commands/experience.js +922 -0
  55. package/dist/commands/host.js +1127 -0
  56. package/dist/commands/init.js +118 -0
  57. package/dist/commands/memory.js +3129 -0
  58. package/dist/commands/mission.js +562 -0
  59. package/dist/commands/official-catalog.js +134 -0
  60. package/dist/commands/plan.js +84 -0
  61. package/dist/commands/playbook.js +415 -0
  62. package/dist/commands/pm/context.js +6 -0
  63. package/dist/commands/pm/index.js +701 -0
  64. package/dist/commands/pm/projectman.js +6266 -0
  65. package/dist/commands/project.js +1080 -0
  66. package/dist/commands/prompt.js +1024 -0
  67. package/dist/commands/repo-sync.js +1907 -0
  68. package/dist/commands/resource.js +527 -0
  69. package/dist/commands/skill.js +1211 -0
  70. package/dist/commands/start-disciplines.js +510 -0
  71. package/dist/commands/start.js +1343 -0
  72. package/dist/commands/target.js +309 -0
  73. package/dist/commands/version.js +42 -0
  74. package/dist/commands/view.js +1852 -0
  75. package/dist/launchers/cockpit.js +28 -0
  76. package/dist/launchers/options.js +74 -0
  77. package/dist/launchers/server.js +41 -0
  78. package/dist/lib/agent-assets/envelope.js +83 -0
  79. package/dist/lib/agent-assets/gateway.js +15 -0
  80. package/dist/lib/agent-assets/guards.js +23 -0
  81. package/dist/lib/agent-assets/hosted-discovery.js +148 -0
  82. package/dist/lib/agent-assets/hosted-package-input.js +154 -0
  83. package/dist/lib/agent-assets/legacy-pointer-migration.js +677 -0
  84. package/dist/lib/agent-assets/native-fs.js +589 -0
  85. package/dist/lib/agent-assets/package-manifest.js +324 -0
  86. package/dist/lib/agent-assets/portable-path.js +67 -0
  87. package/dist/lib/agent-assets/release-input.js +177 -0
  88. package/dist/lib/agent-assets/roots.js +45 -0
  89. package/dist/lib/agent-assets/runtime-binding-reader.js +545 -0
  90. package/dist/lib/agent-assets/runtime-targets.js +50 -0
  91. package/dist/lib/agent-assets/store-reader.js +1212 -0
  92. package/dist/lib/agent-assets/store-types.js +1 -0
  93. package/dist/lib/agent-assets/store-writer.js +1484 -0
  94. package/dist/lib/agent-assets/types.js +1 -0
  95. package/dist/lib/agent-assets/unicode-case-folding-v15-1.generated.js +1548 -0
  96. package/dist/lib/commercial-final-readiness.js +504 -0
  97. package/dist/lib/commercial-lifecycle-smoke-isolation.js +236 -0
  98. package/dist/lib/commercial-managed-postgres-docker-adapter.js +274 -0
  99. package/dist/lib/commercial-setup-readiness-adapter.js +179 -0
  100. package/dist/lib/community-client-contract.js +164 -0
  101. package/dist/lib/community-cockpit-lifecycle.js +601 -0
  102. package/dist/lib/community-command-abort.js +59 -0
  103. package/dist/lib/community-diagnostic.js +237 -0
  104. package/dist/lib/community-docker-adapter.js +498 -0
  105. package/dist/lib/community-home.js +31 -0
  106. package/dist/lib/community-instance-contract.js +148 -0
  107. package/dist/lib/community-instance-layout.js +97 -0
  108. package/dist/lib/community-lifecycle.js +1631 -0
  109. package/dist/lib/community-migration-snapshot.js +770 -0
  110. package/dist/lib/community-native-application-recovery.js +425 -0
  111. package/dist/lib/community-native-child.js +240 -0
  112. package/dist/lib/community-native-database-recovery.js +456 -0
  113. package/dist/lib/community-native-lifecycle.js +2458 -0
  114. package/dist/lib/community-native-migration.js +339 -0
  115. package/dist/lib/community-native-postgres.js +596 -0
  116. package/dist/lib/community-operation-journal.js +773 -0
  117. package/dist/lib/community-operation-lock.js +596 -0
  118. package/dist/lib/community-release-resolver.js +291 -0
  119. package/dist/lib/community-release-verifier.js +475 -0
  120. package/dist/lib/community-repo-discovery.js +252 -0
  121. package/dist/lib/community-setup-server-env.js +203 -0
  122. package/dist/lib/external-url.js +110 -0
  123. package/dist/lib/official-catalog-gateway.js +108 -0
  124. package/dist/lib/official-catalog.js +364 -0
  125. package/dist/lib/server-bootstrap.js +240 -0
  126. package/dist/lib/setup-agent-assets-bridge.js +176 -0
  127. package/dist/lib/setup-agent-assets-release.js +52 -0
  128. package/dist/lib/setup-external-postgres.js +108 -0
  129. package/dist/lib/setup-init-orchestrator.js +990 -0
  130. package/dist/lib/setup-install-guide.js +52 -0
  131. package/dist/lib/setup-installer-release.js +47 -0
  132. package/dist/lib/setup-local-postgres.js +329 -0
  133. package/dist/lib/setup-official-catalog-bridge.js +148 -0
  134. package/dist/lib/setup-readiness.js +888 -0
  135. package/dist/lib/tui-launcher.js +59 -0
  136. package/dist/main.js +150 -0
  137. package/dist/seeds/agents-md.js +54 -0
  138. package/dist/utils/agent-gateway.js +275 -0
  139. package/dist/utils/agents-md.js +281 -0
  140. package/dist/utils/api.js +255 -0
  141. package/dist/utils/chatv3-session-store.js +185 -0
  142. package/dist/utils/command.js +67 -0
  143. package/dist/utils/community-host-runtime.js +376 -0
  144. package/dist/utils/config.js +1015 -0
  145. package/dist/utils/discussion-workspace.js +552 -0
  146. package/dist/utils/experience-workspace.js +326 -0
  147. package/dist/utils/guide-paths.js +67 -0
  148. package/dist/utils/hosted-sugar.js +56 -0
  149. package/dist/utils/hosted-workspace.js +229 -0
  150. package/dist/utils/memory-workspace.js +537 -0
  151. package/dist/utils/operator-runtime.js +199 -0
  152. package/dist/utils/password-crypto.js +39 -0
  153. package/dist/utils/playbook-workspace.js +479 -0
  154. package/dist/utils/project-context.js +255 -0
  155. package/dist/utils/prompts.js +70 -0
  156. package/dist/utils/refresh-race.js +28 -0
  157. package/dist/utils/repo-config.js +109 -0
  158. package/dist/utils/repo-first-projectman.js +194 -0
  159. package/dist/utils/repo-first-storage.js +13 -0
  160. package/dist/utils/repo-first-view.js +305 -0
  161. package/dist/utils/session-guidance.js +278 -0
  162. package/dist/utils/session-state.js +137 -0
  163. package/dist/utils/table.js +39 -0
  164. package/dist/utils/transient-fs.js +49 -0
  165. package/dist/utils/workspace-root.js +1 -0
  166. package/launchers/aops-cockpit.ps1 +15 -0
  167. package/launchers/aops-cockpit.sh +16 -0
  168. package/launchers/aops-server.ps1 +15 -0
  169. package/launchers/aops-server.sh +16 -0
  170. package/native/tui/win32-x64/aops-tui.exe +0 -0
  171. package/package.json +81 -0
@@ -0,0 +1,1107 @@
1
+ <!-- Public packaged snapshot from canonical slug:aops CLI guidance. Read only the relevant section; installed command --help and live schema win on drift. -->
2
+
3
+ # AOPS CLI User Guide
4
+
5
+ ## 1 Temel model
6
+
7
+ ### 1.1 Overview
8
+
9
+ ## 2 En kisa kurulum akisi
10
+
11
+ ### 2.1 Guided npm installation
12
+
13
+ #### 2.1.1 Overview
14
+
15
+ ```bash
16
+ aops setup init
17
+ aops
18
+ aops server status --json
19
+ aops host health
20
+ ```
21
+
22
+ `setup init` can connect to an existing local/remote PostgreSQL, provision an
23
+ AOPS-owned PostgreSQL container, create a dedicated AOPS role/database in a
24
+ supported local PostgreSQL, or configure this CLI for an existing AOPS Server
25
+ through path `4`. Local-server paths verify migrations and start the npm
26
+ server. Path `4` does not install or operate local PostgreSQL or server
27
+ processes. Use masked prompts for all database and AuthV2 secrets.
28
+
29
+ Parameterless `aops` opens the bundled Rust TUI without changing either
30
+ service. Argument-bearing invocations retain the existing CLI behavior. AOPS
31
+ Server and Cockpit have separate start, stop, restart, status, health, and log
32
+ commands.
33
+
34
+ For visible foreground server logs, run `launchers/aops-server.sh` from the
35
+ installed CLI package on macOS/Linux or `launchers/aops-server.ps1` on Windows.
36
+ The script directly invokes the package-relative Node launcher; Ctrl+C or
37
+ closing that terminal stops the foreground server. The matching
38
+ `aops-cockpit.sh`/`.ps1` starts only Cockpit in its normal independent
39
+ background mode. These scripts accept `--instance` and `--data-root`, not
40
+ database credentials.
41
+
42
+ ### 2.2 Interactive auth
43
+
44
+ #### 2.2.1 Overview
45
+
46
+ ```bash
47
+ aops setup init
48
+ aops setup first-admin --target <target-name>
49
+ aops auth login --target <target-name>
50
+ aops auth status --target <target-name>
51
+ ```
52
+
53
+ ## 3 `init`
54
+
55
+ ### 3.1 Overview
56
+
57
+ The default local-server contract is `trusted-local` on
58
+ `127.0.0.1:5900`. It never trusts a LAN or Tailscale interface. AOPS Server on
59
+ `5900` and Cockpit on `5922` are separate services; neither redirects to the
60
+ other.
61
+
62
+ Use setup path `4` for an existing server. A scripted flow first previews the
63
+ exact endpoint, then applies the named target:
64
+
65
+ ```bash
66
+ aops setup init --path 4 \
67
+ --api-base-url https://aops.example.com \
68
+ --target-name remote \
69
+ --target-auth-provider authv2-jwt-session \
70
+ --target-tls-policy system-ca \
71
+ --yes --json
72
+
73
+ aops setup init --path 4 \
74
+ --api-base-url https://aops.example.com \
75
+ --target-name remote \
76
+ --target-auth-provider authv2-jwt-session \
77
+ --target-tls-policy system-ca \
78
+ --apply --yes --json
79
+ ```
80
+
81
+ A non-loopback server is an explicit `authenticated-network` +
82
+ `authv2-jwt-session` deployment. External targets normally require HTTPS and
83
+ the operating system CA store. The only plain-HTTP exception is a literal
84
+ Tailscale IP in `100.64.0.0/10` or `fd7a:115c:a1e0::/48`, paired with
85
+ `authv2-jwt-session` and `tailscale-http`. MagicDNS hostnames and ordinary LAN
86
+ IPs do not qualify.
87
+
88
+ For explicit add/check/select control:
89
+
90
+ ```bash
91
+ aops target add --name remote --api-base-url https://aops.example.com \
92
+ --auth-provider authv2-jwt-session --tls-policy system-ca --apply
93
+ aops target doctor remote --json
94
+ aops target use remote --apply
95
+ ```
96
+
97
+ ## 4 `setup server-env`
98
+
99
+ ### 4.1 Overview
100
+
101
+ `aops setup server-env` owns the private PostgreSQL connection used by local
102
+ server paths. Enter the URL through its masked prompt. Automation may pass
103
+ `AOPS_PG_URL` through the private process environment; never put a PostgreSQL
104
+ URL or password in argv, chat, or committed files.
105
+
106
+ The default provider is `trusted-local`. Before an explicit non-loopback host,
107
+ generate the complete AuthV2 runtime closure in the same owner-only file:
108
+
109
+ ```bash
110
+ AOPS_PG_URL='<private-url>' aops setup server-env \
111
+ --auth authv2-jwt-session --yes --json
112
+ ```
113
+
114
+ The command prints only a secret-free summary. It preserves an existing
115
+ provider and secrets when rerun without `--auth`.
116
+
117
+ ## 5 `setup first-admin`
118
+
119
+ ### 5.1 Overview
120
+
121
+ Use `aops setup first-admin --target <target-name>` only while AuthV2 reports
122
+ that no first admin exists. Interactive mode collects the password and admin
123
+ key through masked prompts and stores the verified target-bound session.
124
+ Non-interactive automation may use `AOPS_AUTH_EMAIL`, `AOPS_AUTH_PASSWORD`, and
125
+ `AOPS_ADMIN_KEY` in its private process environment. Secret command arguments
126
+ are refused.
127
+
128
+ ## 6 User yonetimi
129
+
130
+ ### 6.1 Overview
131
+
132
+ First-admin is a one-time bootstrap, not a general user-management bypass.
133
+ After bootstrap, authenticate normally and use the AuthV2-authorized admin
134
+ surface exposed by the installed server. Check the live CLI help and agent-tool
135
+ schema before mutations.
136
+
137
+ ## 7 Login ve tokenlar
138
+
139
+ ### 7.1 Overview
140
+
141
+ ```bash
142
+ aops auth login --target remote
143
+ aops auth status --target remote --json
144
+ aops auth logout --target remote
145
+ ```
146
+
147
+ Login stores encrypted credentials bound to the selected target endpoint.
148
+ Normal logout revokes the remote session before clearing the local copy. If the
149
+ server is unavailable and the explicit intent is local cleanup, use
150
+ `aops auth logout --target remote --local-only`. Passwords and tokens belong
151
+ only in masked prompts or documented private environment variables, never
152
+ argv.
153
+
154
+ ## 8 Diagnostik
155
+
156
+ ### 8.1 Overview
157
+
158
+ ```bash
159
+ aops target show remote --json
160
+ aops target doctor remote --json
161
+ aops auth status --target remote --json
162
+ ```
163
+
164
+ `target doctor` does not mutate the remote endpoint or rotate session tokens.
165
+ Its JSON reports `networkMutationFree: true`; loading an older local target
166
+ configuration may still apply the CLI's safe credential-format migration, so
167
+ the overall `mutationFree` field is false. `auth status` additionally verifies
168
+ the current authenticated principal. Always diagnose the same named target
169
+ that setup checked; an unrelated active target is not proof that the requested
170
+ endpoint is ready.
171
+
172
+ ## 9 Owner modeli ve domain secimi
173
+
174
+ ### 9.1 Overview
175
+
176
+ ## 10 Projectman sugar komutlari
177
+
178
+ ### 10.1 Overview
179
+
180
+ ## 12 `.aops` local cache & sync
181
+
182
+ ### 12.1 Overview
183
+
184
+ #### 12.1.1 Project registry, `authoringMode`, and `localRoot`
185
+
186
+ Multi-project repos use `.aops/aops.config.json` as a project registry. The
187
+ hosted server is the source of truth for project identity and for all
188
+ Projectman/Agentspace records; the repo registry only records which local
189
+ directory mirrors a hosted project as a read-only cache:
190
+
191
+ ```bash
192
+ aops project link --slug aops --mode local --local-root .aops/projects/aops --apply --json
193
+ aops project link --slug demo --mode hosted-only --apply --json
194
+ aops project links list --json
195
+ aops project migrate-local-root --project-slug aops --local-root .aops/projects/aops --dry-run --json
196
+ aops project migrate-local-root --project-slug aops --local-root .aops/projects/aops --apply --confirm --json
197
+ ```
198
+
199
+ Contract:
200
+
201
+ 1. `project link/links` manages only the repo project registry after verifying
202
+ the hosted project exists and is not archived/deleted.
203
+ 2. `authoringMode: local` means a local cache directory is materialized under
204
+ `localRoot` (normally `.aops/projects/<slug>`). Create/write/read still go to
205
+ the hosted server; `localRoot` is a read-only mirror refreshed by
206
+ `aops sync pull` (and `aops doc mirror pull` for docs), not a
207
+ repo-first source tree.
208
+ 3. `authoringMode: hosted-only` means no local cache directory is materialized.
209
+ Reads and writes both use the hosted gateway directly.
210
+ 4. `migrate-local-root` is repo-local cache relocation. Always run `--dry-run`;
211
+ the real move requires `--apply --confirm` because old flat roots are
212
+ archived.
213
+ 5. hosted-only-vs-local is only a cache-presence decision: local mode keeps a
214
+ refreshable read-only mirror on disk, hosted-only mode reads straight from
215
+ the server. Neither makes the repo the source of truth.
216
+
217
+ #### 12.1.2 Partitioned sync
218
+
219
+ Project-partitioned `sync pull` refreshes the local cache using the same
220
+ project registry selector contract. There is no `sync push`: the hosted server
221
+ is canonical, so the cache is only ever pulled, never pushed back.
222
+
223
+ ```bash
224
+ aops sync status --project-slug aops --json
225
+ aops sync pull --project-slug aops --apply --json
226
+ aops sync status --all-projects --json
227
+ aops sync pull --all-projects --apply --json
228
+ ```
229
+
230
+ Rules:
231
+
232
+ 1. `sync --project-slug/--all-projects` refreshes the read-only cache of hosted
233
+ Projectman and Agentspace records. It is separate from
234
+ `--hosted-project-slug`, which refreshes the read-only hosted prompt/skill
235
+ mirrors.
236
+ 2. `--project-slug` resolves the linked project, then refreshes that project's
237
+ `localRoot` cache when `authoringMode` is `local`.
238
+ 3. `--all-projects` runs once per repo-config local project and reports
239
+ project-level results without fail-fast. Hosted-only links have no cache to
240
+ refresh on this path; local links without a usable `localRoot` are
241
+ reported/skipped rather than treated as another project's cache.
242
+ 4. Because the server is canonical, conflict/drift resolution is not part of the
243
+ pull: a refresh simply overwrites the local cache with current server state.
244
+
245
+ #### 12.1.3 Archive lifecycle
246
+
247
+ `aops archive` prepares hosted Projectman graph cleanup from a local bundle.
248
+ It is deliberately a CLI composition over existing hosted Projectman surfaces,
249
+ not a new hosted archive domain.
250
+
251
+ ```bash
252
+ aops archive create --project-slug aops --apply --json
253
+ aops archive verify --manifest .aops/archive/aops/<ts>/manifest.json --apply --json
254
+ aops archive delete --manifest .aops/archive/aops/<ts>/manifest.json --json
255
+ aops archive delete --manifest .aops/archive/aops/<ts>/manifest.json --apply --confirm --json
256
+ aops archive decommission-check --manifest .aops/archive/aops/<ts>/manifest.json --json
257
+ ```
258
+
259
+ Rules:
260
+
261
+ 1. `archive create` downloads the hosted PM graph into
262
+ `.aops/archive/<slug>/<timestamp>` and records `pendingDomains`; it does not
263
+ delete anything.
264
+ 2. `archive verify --apply` re-fetches hosted PM data, compares counts and
265
+ checksums, then persists `verification.status: passed` into the manifest.
266
+ 3. `archive delete` without `--apply` is a preview. Destructive delete requires
267
+ a verified manifest plus `--apply --confirm`.
268
+ 4. Delete order is children-before-parents so review requests, feedback,
269
+ issues, microtasks, sprints, tasks, columns, and boards are removed in a
270
+ dependency-safe sequence. The manifest records per-action deletion state for
271
+ resumability.
272
+ 5. `archive decommission-check` permits full project/scope decommission only
273
+ when the manifest is verification-passed, `decommissionSafe` is true, and
274
+ `pendingDomains` is empty. Current bundles can still list Agentspace memory,
275
+ discussions, chat, and hosted prompt/skill/resource/artifact domains as
276
+ pending until those owners have their own archive coverage.
277
+
278
+ #### 12.1.4 Agent-tool catalog verification
279
+
280
+ No new hosted `archive.*` tool is expected for this slice. The CLI verifies or
281
+ composes existing hosted surfaces:
282
+
283
+ 1. `project link` verifies hosted projects through existing
284
+ `agentspace.project.*` tools, then writes the repo registry.
285
+ 2. hosted-only PM direct commands use existing `projectman.*` tools.
286
+ 3. archive cleanup composes existing Projectman read/delete tools and records a
287
+ local manifest.
288
+
289
+ Spot-check the catalog before writing raw hosted payloads:
290
+
291
+ ```bash
292
+ aops agent tools --domain agentspace --q project --summary --json
293
+ aops agent tools --domain projectman --q delete --summary --json
294
+ ```
295
+
296
+ ### 12.2 AOPS markdown view sugar
297
+
298
+ #### 12.2.1 Overview
299
+
300
+ `view` komut ailesi read-only presentation layer'dir. Varsayilan komutlar
301
+ read-only local cache `.aops/**` dosyalarini okur (canonical truth hosted
302
+ server'dadir; cache `sync pull` ile tazelenir). Explicit hosted komutlar
303
+ (`hosted-projects`, `hosted-inventory`) hosted list API'larini sadece okuma
304
+ amaciyla cagirir; sync yapmaz, cache/index yazmaz ve domain mutation
305
+ calistirmaz. Varsayilan cikti agent/TUI uyumlu Markdown'dir; `--json` ayni
306
+ read-model'i stabil envelope olarak dondurur.
307
+
308
+ Komut seti:
309
+
310
+ ```bash
311
+ aops view dashboard --style agent
312
+ aops view projects
313
+ aops view hosted-projects --style compact
314
+ aops view hosted-inventory --hosted-project aops --style compact
315
+ aops view boards
316
+ aops view board <selector>
317
+ aops view tasks
318
+ aops view task <selector>
319
+ aops view sprints
320
+ aops view sprint <selector> --max-items 20
321
+ aops view issues
322
+ aops view feedback
323
+ aops view memory
324
+ aops view resume
325
+ aops view discussions
326
+ aops view discussion <selector>
327
+ aops view experience
328
+ aops view skills
329
+ aops view prompts
330
+ aops view docs
331
+ aops view doc <selector>
332
+ aops view doc-page <doc-selector>#<heading-selector>
333
+ aops view digest --task <selector> --depth deep --max-bytes 32768
334
+ ```
335
+
336
+ Selector cozumu (`<selector>` argumanini bekleyen tum komutlar):
337
+
338
+ ```bash
339
+ # full UUID
340
+ aops view task 0ea46e18-d717-454d-8244-90ad388c4a80
341
+
342
+ # 8+ karakter id prefix (uuid'nin ilk 8 karakteri veya dosya adindaki -<8>.md kismi)
343
+ aops view task 0ea46e18
344
+
345
+ # slug
346
+ aops view board ops
347
+
348
+ # exact title/name
349
+ aops view sprint "AOPS CLI view follow-up"
350
+
351
+ # doc-page composite selector (document#heading)
352
+ aops view doc-page tooling-cli-host-plugin-system#runtime-config
353
+ ```
354
+
355
+ Ambiguous selector fail eder ve aday tablo/JSON dondurur. `<selector>`
356
+ yoksa veya birden fazla esleserse aday listesinden dogru hedefi se cebilirsin.
357
+
358
+ Tum view komutlarinda kullanilabilen ortak flagler:
359
+
360
+ | Flag | Anlam | Default |
361
+ |------|-------|---------|
362
+ | `--json` | Stabil envelope JSON dondurur (markdown yerine) | false |
363
+ | `--style agent\|compact\|wide` | Markdown yogunluk/format profili | `agent` (ASCII, emoji-free, link-mode none) |
364
+ | `--link-mode none\|relative\|absolute` | Path linki davranisi | `none` |
365
+ | `--max-items <n>` | Liste/tablo basina maksimum satir | 25 |
366
+ | `--max-bytes <n>` | Toplam markdown budget; 32768 hard cap | 32768 |
367
+ | `--project-id\|--project-name\|--project-slug <v>` | Repo config'inde aktif olmayan baska bir projeyi sec | aktif proje |
368
+
369
+ Hosted view komutlari icin ek flagler:
370
+
371
+ | Flag | Anlam | Default |
372
+ |------|-------|---------|
373
+ | `--api-base-url <url>` | Hosted API base URL | env/default host |
374
+ | `--access-token <token>` | Hosted API access token | auth config/env |
375
+ | `--refresh-token <token>` | Hosted API refresh token | auth config/env |
376
+ | `--timeout-ms <ms>` | Hosted request timeout | client default |
377
+ | `--tenant-id <id>` | Agent gateway tenant header | - |
378
+ | `--locale`, `--fallback-locale` | Agent gateway locale header'lari | - |
379
+ | `--scope-id <id>` | Hosted scope override | repo/project context |
380
+ | `--scope-resolution explicit\|cascade` | Hosted asset scope cozumu | `explicit` for inventory |
381
+ | `view hosted-inventory --hosted-project <selector>` | Hosted project id, slug, name veya 8+ char prefix ile daralt | tum fetched projects |
382
+
383
+ Footer kontrati (her view ciktisinin altinda):
384
+
385
+ ```text
386
+ - source: <relative-path-or-directory>
387
+ - local-state: local|dirty|synced|conflict|deleted|-
388
+ - updatedAt: <iso>
389
+ - lastPushedAt: <iso?>
390
+ - lastPulledAt: <iso?>
391
+ - truncated: true|false
392
+ ```
393
+
394
+ `local-state` semantigi `effectiveLocalState` ile hesaplanir: `synced`
395
+ sayilan bir kayit `baseHash` ile mevcut icerik arasinda drift tespit
396
+ edilirse `dirty` olarak isaretlenir. Ham `syncState` field'ina degil bu
397
+ hesaplanan degere guvenmek gerekir.
398
+
399
+ `view digest` icin pratik kararlar:
400
+
401
+ 1. shallow default `--depth shallow` agent context icin yeterli ozetdir
402
+ 2. detayli inspection icin `--depth deep`, ama `--max-bytes` budget'ini
403
+ asagi cek: ornekteki gibi tek sprint deep digest ~8KB civarinda kalir
404
+ 3. truncation footer `truncated: true` raporlarsa `--max-items` veya daha
405
+ dar bir selector ile yeniden cek
406
+
407
+ Tipik kullanim senaryolari:
408
+
409
+ ```bash
410
+ # Agent kickoff: tek komutla aktif pencereyi oku
411
+ aops view dashboard --style agent
412
+
413
+ # Sprint resume: phase/microtask + linked memory + discussions
414
+ aops view sprint <sprint-id>
415
+
416
+ # Codex/Claude desktop'a context pack pipe et
417
+ aops view digest --sprint <sprint-id> --depth deep | pbcopy
418
+
419
+ # Terminal'de mdcat/glow ile renderli okuma
420
+ aops view board <board-slug> | glow -p
421
+
422
+ # JSON ile script/automation
423
+ aops view tasks --json | jq '.result.data[] | select(.localState == "dirty") | .label'
424
+
425
+ # Hosted project inventory: ustte proje tablosu, altta docs/skills/prompts/resources gruplari
426
+ aops view hosted-inventory --hosted-project aops --style compact
427
+
428
+ # Selector ambiguity'sini debug et
429
+ aops view task Duplicate --json | jq '.error.candidates'
430
+ ```
431
+
432
+ Session-state nudge:
433
+
434
+ 1. `view dashboard --style agent` read-only olarak `.aops/agentspace/session-state/**` dosyalarini tarayip `Session State Nudges` bolumu gosterebilir.
435
+ 2. Bu bolum memory yazmaz; agent'a sadece "checkpoint gecikti", "summary dus" veya benzeri runtime hijyen sinyali verir.
436
+ 3. Nudge'a cevap yazmak gerekiyorsa owner command `aops mem checkpoint` veya `aops mem summary` olmalidir.
437
+
438
+ Filter flag'leri (her listeleme komutu icin):
439
+
440
+ ```bash
441
+ # Memory: durability/kind/subject/id
442
+ aops view memory --durability sticky --kind rule
443
+ aops view memory --subject sprint --id <sprint-id>
444
+ aops view memory --subject task --id <task-id-prefix>
445
+ aops view resume --subject project
446
+
447
+ # Projectman tasks: board + status (column adi cozulur)
448
+ aops view tasks --board ops --status Done
449
+ aops view tasks --board engineering --status Doing
450
+
451
+ # Projectman issues: status + severity + board/sprint/task
452
+ aops view issues --status open
453
+ aops view issues --severity high --status resolved
454
+ aops view issues --board ops --sprint <sprint-id>
455
+
456
+ # Projectman feedback: status + board/sprint/task
457
+ aops view feedback --status open --board ops
458
+
459
+ # Projectman sprints: board + status
460
+ aops view sprints --board ops --status doing
461
+
462
+ # Discussions: status + participant
463
+ aops view discussions --status concluding
464
+ aops view discussions --agent claude
465
+
466
+ # Experience: type + area
467
+ aops view experience --type technique
468
+ aops view experience --area memory
469
+ ```
470
+
471
+ Filter sozlesmesi:
472
+
473
+ | Komut | Filter flag'leri | Anlam |
474
+ |-------|------------------|-------|
475
+ | `view memory`, `view resume` | `--durability`, `--kind`, `--subject`, `--id` | durability=short\|durable\|sticky; kind=kickoff\|resume\|closeout\|note\|rule\|...; subject=project\|board\|sprint\|task\|ktask\|utask\|issue\|feedback; id=full UUID veya 8+ char prefix |
476
+ | `view tasks` | `--board`, `--status` | board=slug/name/id; status=column adi veya slug (Done, Todo, Doing, Backlog) |
477
+ | `view issues`, `view feedback` | `--status`, `--severity`, `--board`, `--sprint`, `--task` | status=frontmatter status; severity=low\|medium\|high\|critical; board/sprint/task=ilgili subject relation |
478
+ | `view sprints` | `--board`, `--status` | board=slug/name; status=todo\|doing\|completed\|paused\|... |
479
+ | `view discussions` | `--status`, `--agent` | status=active\|concluding\|concluded\|abandoned; agent=participants icindeki agent id |
480
+ | `view experience` | `--type`, `--area` | type=technique\|tool\|script\|problem-solution\|idea; area=areas[] tag |
481
+
482
+ Birden fazla filter AND mantigi ile uygulanir. Sonuc bos ise empty table fallback (`No matching records.`) gosterilir.
483
+
484
+ Owner boundary kurallari (`view` icin):
485
+
486
+ 1. Cache-reading view komutlari (`dashboard`, `boards`, `tasks`, `issues`,
487
+ `feedback`, `memory`, `skills`, `prompts`, `docs`, `digest`, ...) sadece
488
+ read-only local cache `.aops/**/*.md` dosyalarini okur; hosted tool, sync,
489
+ cache write, mutation veya `~/.aops` yazimi yapmaz.
490
+ 2. Hosted view komutlari (`hosted-projects`, `hosted-inventory`) sadece
491
+ hosted read/list tool'larini cagirir: `agentspace.project.list-projects`,
492
+ `docman.document.list`, `agentspace.skill.list-skills`,
493
+ `agentspace.prompt.list-prompts`, `agentspace.resource.list-resources`.
494
+ Mutation, sync, mirror refresh veya cache write yapmaz.
495
+ 3. Cross-domain join'ler mevcut frontmatter/API alanlarini (`subjectType`,
496
+ `subjectId`, `boardId`, `sprintLocalId`, `pmContext.taskId` vs.) takip
497
+ eder; yeni domain semantigi icat etmez.
498
+ 4. `view skills` ve `view prompts` `.aops/hosted/**` mirror dosyalarindan
499
+ okur; canonical truth hosted Docman/server'da kalir, view onu
500
+ yenilemez.
501
+ 5. `view docs` ve `view doc-page` `.aops/docman/**` mirror'undan okur;
502
+ read-only mirror banner'i ve `pulledAt` footer'da gozukur.
503
+ 6. Projectman planning view'lari cache uzerinden okur; PM tablo ihtiyaci
504
+ icin `view boards`, `view tasks`, `view sprints`, `view issues` ve
505
+ `view feedback` kullanilir.
506
+
507
+ V2'ye birakilan yuzeyler:
508
+
509
+ 1. `view relations <selector>` cross-domain RelationResolver
510
+ 2. `view skill/prompt/experience <selector>` detail inspect (V1 list-only)
511
+ 3. `aops ls`, `aops show` aliaslari
512
+ 4. `--out <path>` generated artifact writer (V1 stdout default)
513
+ 5. hosted relation graph icin daha derin cross-domain edge resolver
514
+ 6. performans gerekirse cache/index
515
+
516
+ Kritik kurallar:
517
+ - Server wins: hosted server canonical'dir; `sync pull` server state'ini read-only local cache'e yansitir. `sync push` yoktur (S4'te kaldirildi) -- repo source-of-truth degildir.
518
+ - UI/server tarafinda yapilan degisiklikler bir sonraki `sync pull` ile cache'e gelir; cache uzerinde yapilan elle degisiklikler canonical degildir ve tazelemede ezilir.
519
+ - Derived view'lar cache uzerinden hesaplanir; cache'i guncel tutmak icin `sync pull` calistirilir.
520
+ - Reusable `prompt` ve hosted `skill` shell/version truth'u server/DB tarafinda kalir; `sync pull` bunlari sadece `.aops/hosted/**` altina read-only mirror olarak ceker.
521
+ - Ayni repo isterse baska bir projenin hosted prompt/skill mirror'unu da `--hosted-project-id|name|slug` ile cekebilir.
522
+ - `sync pull` project-level bir server -> cache refresh komutudur; hosted prompt/skill mirror refresh icin `--hosted-project-id|name|slug` kullan.
523
+
524
+ Baslangic akisi:
525
+
526
+ 1. Yeni repo icin `aops init`
527
+ 2. Hosted state'in read-only cache'ini tazelemek icin `aops sync pull --project-slug aops --apply --json`
528
+ 3. Cache context'i icin `.aops/projectman/views/index.md` ve `.aops/agentspace/memory/index.md` oku
529
+ 4. Reusable prompt/skill context gerekiyorsa `.aops/hosted/index.md`, `.aops/hosted/skills/index.md`, ve `.aops/hosted/prompts/index.md` oku
530
+ 5. PM authoring icin `aops pm ...`, memory icin `aops mem ...`, agent tecrubesi icin `aops exp ...`, agent tartisma workspace'i icin `aops discuss ...` kullan (hepsi dogrudan hosted server'a yazar)
531
+
532
+ Kapanis akisi:
533
+
534
+ 1. PM/memory kayitlarini owner komutlariyla (`aops pm ...`, `aops mem ...`) hosted server uzerinde guncelle
535
+ 2. Cache'i guncel gormek istersen `aops sync pull --apply --json` calistir
536
+
537
+ Memory/handoff ayrimi:
538
+ - `--write-memory`: ana PM mutation basarili olduktan sonra opt-in memory side-effect yazar; AI varsayilani short memory olarak kalmalidir
539
+ - `pm handoff write`: mutation disinda kickoff/resume/decision/blocker/closeout/rule memory kaydi yazar
540
+ - `pm handoff resume`: mevcut tracked PM subject icin curated resume pack okur; subject record yaratmaz
541
+ - durable `note` ve sticky `rule` operator/human kontrolundedir; agent calisirken default olarak yazilmaz, yalnizca acikca istendiginde yazilir
542
+
543
+ Phase notu:
544
+ - `phase` Projectman icinde first-class planning kavramidir ama bugun standalone `phase.*` CRUD operation ailesi yoktur
545
+ - `phase` sprint planinin nested grouping/status katmanidir
546
+ - bu yuzden AOPS sugar tarafinda `pm phase ...` yerine mevcut `pm sprint` + `pm utask` surface'i korunur
547
+
548
+ ## 14 Prompt sugar
549
+
550
+ ### 14.1 Overview
551
+
552
+ ## 15 Project sugar
553
+
554
+ ### 15.1 Overview
555
+
556
+ ## 16 Durable memory ve synopsis sugar
557
+
558
+ ### 16.1 Overview
559
+
560
+ #### 16.1.1 Overview
561
+
562
+ Recommended agent memory path:
563
+
564
+ ```bash
565
+ aops mem brief --subject project --json
566
+ aops mem checkpoint --content "Slice devam ediyor." --task-id <task-id> --sprint-id <sprint-id> --apply --json
567
+ aops mem summary --content "Session summary." --apply --json
568
+ ```
569
+
570
+ Kural:
571
+
572
+ 1. `mem brief` session basinda/resume'da kullanilan read-only startup pack'tir; PM state'in yerine gecmez ve memory yazmaz.
573
+ 2. `mem checkpoint` anlamli milestone, decision, blocker veya handoff noktasinda short rolling status yazar; her chat satiri veya kucuk edit icin kullanilmaz.
574
+ 3. `mem summary` session sonu veya operator summary istegi icindir; ordinary summary short kalir. Durable closeout ancak `--closeout --durability durable --confirm` ile yazilir.
575
+ 4. Memory evidence pack olmalidir: request/purpose, board/task/sprint/issue refs, concrete outcome, validation/review evidence, open risks ve next action.
576
+
577
+ ### 16.2 Hangi koordinasyon yuzeyini ne zaman kullan
578
+
579
+ #### 16.2.1 Overview
580
+
581
+ `discuss`, `chat` ve `pm review-request` ayri koordinasyon yuzeyleridir: karar/konsensus `discuss`, koordinasyon/uyandirma hosted chat odalari (`chat`), review ise Projectman (`pm review-request`). Yanlis yazici/dinleyici eslesmesi sessiz trafik kaybinin en sik sebebi; koordinasyon mesaji ile dinleyici ayni hosted chat odasinda olmali (`aops-cli-chat` skill'ine bak).
582
+
583
+ | Ihtiyac | Komut | Skill |
584
+ |--------------------------------------------------------|--------------------------------|------------------|
585
+ | Yapilandirilmis karar transcript'i + sonuc kararlari | `aops discuss start` | `aops-cli-discuss` |
586
+ | Agent sirasi/lifecycle icin karar dongusu | `aops discuss wait`, `aops discuss turn`, `aops discuss conclude` | `aops-cli-discuss` |
587
+ | Multi-agent koordinasyon/uyandirma odasi | `aops chat room create`, `aops chat message send` | `aops-cli-chat` |
588
+ | Agent'in bekleyen oda/mesaj islerini kesfetmesi | `aops chat inbox --for <agent>` | `aops-cli-chat` |
589
+ | Oda trafigini dinleme / unread okuma | `aops chat listen`, `aops chat catchup` | `aops-cli-chat` |
590
+ | Review iste / sonucla / re-review | `aops pm review-request create`, `aops pm review-request result` | `aops-cli-projectman` |
591
+
592
+ Koordinasyon (uyandirma, oda mesajlasmasi, listener) hosted chat odalarinda yasar; karar ritueli `discuss` tarafindadir. Yapilandirilmis bir karar/stance `discuss turn`/`conclude` ile transcript'e yazilir; karsi agent'i uyandirmak icin ayni isi bagli hosted chat odasina kisa bir `chat message send` ile duyur (oda mesaji uyandirma sinyali, discuss transcript kanonik kayit). Davet/dinleyici beklentisini de chat odasinda netlestir. Detaylar icin `aops-cli-chat` (oda lifecycle, members, `chat send/listen/catchup`) ve `aops-cli-discuss` (karar ritueli, `discuss wait` exit kodlari) skillerine bak. Review akisi (RR/RRR, re-review, material issue) `aops-cli-projectman` tarafindadir.
593
+
594
+ Slug-first operator contract:
595
+
596
+ 1. `discuss start --slug <slug>` topic frontmatter'ina canonical slug yazar. Slug verilmezse title'dan derive edilir ve JSON'da `topicSlug` olarak doner. Hosted chat odalari da `chat room create --slug <slug>` ile slug tasir.
597
+ 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.
598
+ 3. Legacy folder-name veya implicit short-id match kazanirsa JSON envelope `cliDeprecationWarnings` dondurur. Debug ihtiyaci disinda bu uyarilar "slug'a gec" sinyali sayilir.
599
+ 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.
600
+ 5. Yeni agent bootstrap'i: once `aops chat inbox --for <agent> --json`, sonra bagli odadaki unread'i `chat catchup --for <agent> --apply --json` ile oku; aktif uyandirma icin `chat listen --for <agent> --max-loops 1 --json`. Bekleyen review icin `aops pm review-request list --json`.
601
+ 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.
602
+
603
+ ### 16.3 PM window + chat-room baglama ve active window
604
+
605
+ #### 16.3.1 Overview
606
+
607
+ 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. (Repo-first `collab pm-bind` komutu emekliye ayrildi; PM penceresi dogrudan `pm` ile yonetilir, koordinasyon ise board'a bagli hosted chat odasinda yapilir.)
608
+
609
+ ```bash
610
+ aops pm board kickoff --board ops --title "AOPS PM tooling triage" --goal "..." --apply --json
611
+ # Koordinasyon odasini board'a bagla (uyandirma/akis hosted chat'te):
612
+ aops chat room create --slug ops-room --title "Ops" --created-by <agent> --apply --json
613
+ aops chat binding add --room-id <room-id> --binding-type projectman.board --binding-id <board-id> --label "Active board" --created-by <agent> --apply --json
614
+ ```
615
+
616
+ Explicit task/sprint secimi gerektiğinde ilgili `pm sprint`/`pm utask` komutlarini
617
+ kullan. Operator bilincli olarak yeni pencere acacaksa yeni bir `pm board
618
+ kickoff`/sprint acar; aksi halde duplicate kickoff window olusturmak yerine
619
+ aktif board referanslari tercih edilir.
620
+
621
+ ### 16.4 Iki ajanli arastirma ve istisare akisi
622
+
623
+ #### 16.4.1 Overview
624
+
625
+ Operator "tartisin", "Claude ile konusup plan koyun", "beraber arastirin" gibi bir istek verdiginde ana ajan tek basina plan yazip sonradan review istemez. Varsayilan akis iki tarafin da bagimsiz context uretmesi, sonra discuss topic'i (karar) + hosted chat odasi (uyandirma) uzerinden yakinsamasidir. Review tarafi Projectman'dedir.
626
+
627
+ Ana ajan akisi:
628
+
629
+ 1. `aops discuss start --slug <slug>` ile hedefi/agent'lari tasiyan bir karar topic'i ac; koordinasyon icin `aops chat room create` ile bagli bir oda ac.
630
+ 2. Operator istegini, repo root'larini, kisitlari ve beklenen deliverable'lari topic'in ilk turn'une (veya odaya context mesaji olarak) yaz.
631
+ 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.
632
+ 4. Directive'i odaya `chat message send` ile duyur; karsi ajan manuel baslatilacaksa hangi odayi/topic'i dinleyecegini operator'e bildir.
633
+ 5. Ana ajan kendi arastirmasini paralel yapar ve kendi stance'ini `discuss turn` ile topic'e yazar.
634
+ 6. Karar turn'unu odaya kisa bir `chat message send` ile duyur; topic id/turn ve karsi ajandan istenen review sorulari yazilsin.
635
+ 7. Cevap icin karar dongusunu `aops discuss wait --id <topic> --for <agent> --timeout-sec 540 --interval-sec 5 --json`, koordinasyon uyandirmasini `aops chat listen --for <agent> --max-loops 1 --json` ile bekle.
636
+ 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.
637
+ 9. Ciddi ayrilik varsa bir bounded loop daha ver. Mimari/yuksek etki konularda tek oda cevabindan sonra final plan yazma.
638
+ 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
+ 11. Sonuc: kilitlenen kararlar (discuss conclude), acik operator sorulari, POC sirasi ve owner/domain sinirlari. Projectman veya Docman kaydi yalniz explicit komutla yapilir.
640
+
641
+ Karsi ajan akisi:
642
+
643
+ 1. Directive'i ele al ve odaya "arastiriyorum, sonuc donecegim" notu yaz; `chat catchup --apply` ile read cursor'u ilerlet.
644
+ 2. Istenen kaynaklardan bagimsiz arastirma yap; ana ajanin draft'ini tek truth sayma.
645
+ 3. Kendi research/stance'ini `discuss turn` ile yaz ve oda cevabinda topic id/turn ile kisa ozet ver.
646
+ 4. Ana ajan kanitli pushback verirse yeni bir `discuss turn` ile hangi noktalari kabul ettigini, hangilerini surdurdugunu ve hangilerini operator'e biraktigini belirt.
647
+
648
+ 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.
649
+
650
+ ### 16.5 ChatV3 product-channel room context
651
+
652
+ #### 16.5.1 Overview
653
+
654
+ `aops chatv3`, hosted `aops chat` odasi degildir; encrypted product-channel/session CLI'idir. Invite/session/member token ve room epoch key context'i local ChatV3 session store uzerinden calisir. Hosted AOPS coordination icin `aops chat`, aktif product-room takibi icin `aops chatv3` kullanilir.
655
+
656
+ Common commands:
657
+
658
+ ```bash
659
+ aops chatv3 listen --session codex --room general --after-seq <last-seq> --timeout-sec 60 --json
660
+ aops chatv3 binding add --session codex --room general --binding-type projectman.review-request --ref-id <rr-id> --title "Slice review" --json
661
+ aops chatv3 binding list --session codex --room general --json
662
+ aops chatv3 room brief --session codex --room general --for claude --json
663
+ aops chatv3 room summary --session codex --room general --after-seq <last-seq> --json
664
+ ```
665
+
666
+ Kural:
667
+
668
+ 1. `listen` exit `0` yeni mesaj, exit `22` timeout anlamindadir; read/listen output'u `latestSeq` ve `caughtUp` tasir.
669
+ 2. `binding add/list/remove` loose refs tutar; PM/RR/Docman/discuss truth'unu degistirmez.
670
+ 3. `room brief` guidance, members, presence, bindings, cursor refs ve recommended next reads iceren read-only onboarding pack'tir.
671
+ 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.
672
+ 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.
673
+
674
+ ## 17 Resource sugar
675
+
676
+ ### 17.1 Overview
677
+
678
+ #### 17.1.1 Overview
679
+
680
+ `aops resource` is the hosted Agentspace surface for durable knowledge pointers. A resource describes where knowledge lives; it does not own the document body, snapshot bytes, or planning state.
681
+
682
+ Use it when an agent needs a reusable pointer such as a guide, rule, spec, link, reference, template, dataset, code note, or skill-related reference:
683
+
684
+ ```bash
685
+ aops resource create --name "Hexagen Guide" --resource-type document --uri "docman:aops/hexagen" --apply --json
686
+ aops resource list --resource-type document --json
687
+ aops resource get --id <resource-id> --json
688
+ aops resource update --id <resource-id> --uri "https://example.test/spec" --apply --json
689
+ aops resource delete --id <resource-id> --apply --confirm --json
690
+ ```
691
+
692
+ Before raw hosted writes, check the live schema:
693
+
694
+ ```bash
695
+ aops agent schema --tool agentspace.resource.create --timeout-ms 120000 --json
696
+ ```
697
+
698
+ If `agent schema` ever returns only a flexible `data` envelope for an Agentspace operation, fall back to the matching sugar help (`aops resource create --help`) and inspect an existing list/get record before composing payloads. Do not guess nested field names from memory.
699
+
700
+ ## 18 Artifact sugar
701
+
702
+ ### 18.1 Overview
703
+
704
+ #### 18.1.1 Overview
705
+
706
+ `aops artifact` is hosted metadata for generated or external artifacts. It stores the artifact shell and links to project-scoped refs; it is not the byte store. Use artifact records for pointers such as storage paths, report paths, exported archives, screenshots, or generated JSON; keep file bytes in an operator-owned storage system.
707
+
708
+ Core flow:
709
+
710
+ ```bash
711
+ aops artifact create --artifact-type file --storage-path "s3://bucket/report.json" --apply --json
712
+ aops artifact link --artifact-id <artifact-id> --ref-type resource --ref-id <resource-id> --apply --json
713
+ aops artifact ref list --ref-type resource --ref-id <resource-id> --json
714
+ aops artifact get --id <artifact-id> --json
715
+ aops artifact delete --id <artifact-id> --apply --confirm --json
716
+ ```
717
+
718
+ Keep artifact content small and pointer-shaped. If the artifact is a repo file, include the path and validation context in memory or PM; do not paste large file bodies into artifact metadata.
719
+
720
+ ## 19 Skill sugar
721
+
722
+ ### 19.1 Overview
723
+
724
+ #### 19.1.1 Overview
725
+
726
+ `aops skill` owns hosted reusable skill shells and skill versions. `.aops/hosted/skills/**` is only the read-only mirror; never edit it as canonical truth.
727
+
728
+ Authoring loop:
729
+
730
+ ```bash
731
+ aops skill list --hosted-project-slug aops --name "aops-working-disciplines" --json
732
+ aops skill inspect --id <skill-id> --json
733
+ aops skill version list --skill-id <skill-id> --json
734
+ aops skill version create --hosted-project-slug aops --skill-id <skill-id> --content '@./SKILL.md' --entry-file SKILL.md --skill-standard aops-skill-v1 --meta '@./meta.json' --apply --json
735
+ aops skill version publish --hosted-project-slug aops --id <skill-version-id> --apply --json
736
+ aops sync pull --apply --hosted-project-slug aops --json
737
+ aops assets install --target all --apply --json
738
+ ```
739
+
740
+ When `--version` is omitted, the CLI resolves the next version from hosted versions. If a publish or create reports a version conflict, use `skill version list`; mirror frontmatter can lag by one version immediately after publish.
741
+
742
+ ## 20 Durable activity logs
743
+
744
+ ### 20.1 Overview
745
+
746
+ #### 20.1.1 Overview
747
+
748
+ Durable activity logs are audit/readback evidence for hosted operations. Many hosted write sugars append best-effort activity records or structured server logs. Treat these logs as verification context, not planning truth.
749
+
750
+ Current operator rules:
751
+
752
+ 1. Planning and execution state still belongs in Projectman.
753
+ 2. Durable handoff and decisions still belong in Agentspace memory.
754
+ 3. Activity logs are useful when proving that a hosted write, invoke, or flow ran with a concrete request/response.
755
+ 4. If a dedicated `aops activity ...` command is not present in your runtime, discover the hosted activity surfaces with `aops agent tools --domain agentspace --json` or use the domain guide. Do not invent an activity command from old docs.
756
+
757
+ ## 22 Docman sugar
758
+
759
+ ### 22.1 Overview
760
+
761
+ #### 22.1.1 Overview
762
+
763
+ `aops doc` is the hosted Docman surface for document groups, documents, versions, sections, pages, page versions, retrieval rows, publish output, and mirror pull.
764
+
765
+ Common flows:
766
+
767
+ ```bash
768
+ aops doc list --project-slug aops --json
769
+ aops doc version list --document-id <doc-id> --json
770
+ aops doc outline get --document-version-id <docver-id> --titles-only --depth 2 --json
771
+ aops doc page draft-save --page-version-id <pagever-id> --document-link-id <section-page-link-id> --content '@./page.md' --apply --json
772
+ aops doc set-current-version --document-id <doc-id> --version-id <docver-id> --publish-now --apply --json
773
+ aops doc mirror pull --project-slug aops --group-uid aops-guides --document-slug aops-cli-user-guide --out-dir ./.aops/docman --apply --json
774
+ ```
775
+
776
+ For a known page edit, use clone_all + targeted page/section CRUD. For a whole markdown refresh, use `doc import --from-markdown` with `--baseline`, `--guard-target`, and a `--dry-run` first.
777
+
778
+ Retrieval notes:
779
+
780
+ 1. `doc scope search --local` searches the local mirror and can rank source or architecture files above the guide you expected.
781
+ 2. `doc search --local` is document-granular and confirms presence; do not assume it returned a full section body.
782
+ 3. To read a mirror section, use `aops view doc-page <document>#<number-prefixed-slug>`, for example `aops view doc-page aops-cli-user-guide#27-guard-flag-konvansiyonu`.
783
+ 4. `doc outline get --titles-only --depth <n>` is the cheapest structure probe for a known hosted version.
784
+
785
+ ## 23 Sık görülen operator notlari
786
+
787
+ ### 23.1 Overview
788
+
789
+ #### 23.1.1 Overview
790
+
791
+ High-signal operator notes:
792
+
793
+ 1. First cold hosted calls can take around 20 seconds; use `--timeout-ms 120000` for schema, doc, skill, or file smoke commands.
794
+ 2. `--yes` means non-interactive/fail-fast. It is not a magic fix for validation errors.
795
+ 3. In PowerShell, quote file pointers for multiline or quote-heavy content: `--content '@file'` or `--input '@file.json'`.
796
+ 4. If sugar returns validation errors, stop retrying guessed flags. Read `<command> --help`; for raw invokes, read `agent schema`.
797
+ 5. If command help and skill text disagree, command help wins.
798
+ 6. If a user guide and skill text disagree, the user guide wins.
799
+
800
+ ## 24 Onerilen gunluk akış
801
+
802
+ ### 24.1 Overview
803
+
804
+ #### 24.1.1 Overview
805
+
806
+ For a normal agent session:
807
+
808
+ ```bash
809
+ aops mem resume --subject project --json
810
+ aops view dashboard --style agent
811
+ aops <family> --help
812
+ # do the scoped work
813
+ aops mem write --mode resume --subject project --durability short --content '@./checkpoint.md' --apply --json
814
+ ```
815
+
816
+ Use `view` for read-only context, then mutate through the owner family: `pm` for planning, `mem` for durable context, `doc` for documents, and `skill`/`prompt` for hosted reusable assets.
817
+
818
+ Do not run closeout commands unless the operator explicitly approves closeout. Ordinary stop points should write resume/handoff memory.
819
+
820
+ ## 25 Installer mantigi
821
+
822
+ ### 25.1 Overview
823
+
824
+ #### 25.1.1 Overview
825
+
826
+ Runtime skills are loaded through the verified user-level AOPS gateway, not
827
+ directly from repository mirrors. Setup installs or repairs one managed gateway
828
+ for every agent runtime registered by this CLI.
829
+
830
+ Typical refresh:
831
+
832
+ ```bash
833
+ aops assets install --target all --apply --json
834
+ aops assets status --verify full --json
835
+ aops assets resolve --gateway aops --json
836
+ ```
837
+
838
+ Restart an agent runtime if it caches skill discovery. Hosted optional packages
839
+ remain server-owned and inert until explicitly discovered and installed; the
840
+ offline Community core is immutable and signed independently.
841
+
842
+ ## 26 Help-first model
843
+
844
+ ### 26.1 Overview
845
+
846
+ #### 26.1.1 Overview
847
+
848
+ AOPS command discovery is help-first:
849
+
850
+ ```bash
851
+ aops --help
852
+ aops <family> --help
853
+ aops <family> <subcommand> --help
854
+ ```
855
+
856
+ Decision chain:
857
+
858
+ 1. Use sugar help for routine CLI work.
859
+ 2. Use `aops agent tools --domain <domain> --json` to find hosted operations when sugar is missing.
860
+ 3. Use `aops agent schema --tool <domain>.<operation> --json` before raw payload authoring.
861
+ 4. Use `aops agent invoke --tool <id> --input '@payload.json' --apply --json` only when sugar is absent or broken.
862
+ 5. Use `aops api call` only as an explicit low-level escape hatch.
863
+
864
+ ## 27 Guard flag konvansiyonu
865
+
866
+ ### 27.1 Overview
867
+
868
+ #### 27.1.1 Overview
869
+
870
+ Guard flags are consistent across AOPS sugar:
871
+
872
+ | Flag | Meaning |
873
+ |---|---|
874
+ | `--preview` | Validate and describe the operation without mutation. |
875
+ | `--apply` | Execute a guarded write. |
876
+ | `--confirm` | Confirm destructive actions such as delete, restore overwrite, cleanup, or reset. |
877
+ | `--idempotency-key <key>` | Make write retries deterministic when the command supports it. |
878
+ | `--json` | Return scriptable structured output. |
879
+ | `--yes` | Non-interactive/fail-fast mode for prompts and missing choices. |
880
+
881
+ Read commands need no guard. Normal writes require `--apply`. Destructive writes require `--apply --confirm`. `--preview` without `--apply` should not mutate; if a command mutates during preview, file an issue.
882
+
883
+ ## 28 Hosted source of truth ve mirror cache
884
+
885
+ ### 28.1 Overview
886
+
887
+ #### 28.1.1 Overview
888
+
889
+ The hosted server is the source of truth. The `.aops/**` tree is a read-only
890
+ local cache; do not treat it as canonical or hand-edit it as truth.
891
+
892
+ Server-canonical, mirrored as read-only caches:
893
+
894
+ 1. `.aops/projectman/**` caches Projectman boards, tasks, sprints, issues, feedback, and views. Refresh with `aops sync pull --project-slug aops --apply --json`.
895
+ 2. `.aops/agentspace/memory/items/**` caches Agentspace memory. Refresh with `aops sync pull ...`.
896
+ 3. `.aops/agentspace/discussions/**` caches discuss topics/transcripts (discuss authoring is hosted). Refresh with `aops sync pull ...`.
897
+ 4. `.aops/hosted/prompts/**` and `.aops/hosted/skills/**` mirror hosted Agentspace prompt/skill current versions. Refresh with `aops sync pull --apply --hosted-project-slug aops --json`.
898
+ 5. `.aops/docman/**` mirrors hosted Docman documents. Refresh with `aops doc mirror pull ...`.
899
+
900
+ To change content, write through the owner surface (`aops pm ...`, `aops mem ...`, `aops discuss ...`, `aops doc ...`), then refresh the cache.
901
+
902
+ ## 29 Hosted guide mirror bootstrap
903
+
904
+ ### 29.1 Overview
905
+
906
+ #### 29.1.1 Overview
907
+
908
+ Guide mirrors are Docman-owned, not `sync pull`-owned. Refresh AOPS operator guides with:
909
+
910
+ ```bash
911
+ aops doc mirror pull --project-slug aops --group-uid aops-guides --document-slug aops-cli-user-guide --document-slug aops-agent-assets-bootstrap --out-dir ./.aops/docman --apply --json
912
+ aops doc mirror pull --project-slug aops --group-uid domain-guides --document-slug agentspace-user-guide --out-dir ./.aops/docman --apply --json
913
+ ```
914
+
915
+ Use `sync pull` for hosted prompts/skills, and `doc mirror pull` for guides/documents.
916
+
917
+ ## 30 Cross-cutting anti-patterns
918
+
919
+ ### 30.1 Overview
920
+
921
+ #### 30.1.1 Overview
922
+
923
+ Avoid these:
924
+
925
+ 1. Guessing flags after a validation error instead of reading `--help`.
926
+ 2. Writing raw `agent invoke` payloads without `agent schema`.
927
+ 3. Treating `aops` as semantic owner for planning, memory, docs, files, or domain business state.
928
+ 4. Hand-editing `.aops/hosted/**` or `.aops/docman/**` mirrors.
929
+ 5. Assuming `sync pull` refreshes Docman guides.
930
+ 6. Running full Docman import for a one-page edit when CRUD ids are known.
931
+ 7. Writing closeout memory for an ordinary checkpoint.
932
+ 8. Treating a capability mentioned in old guidance as mounted without confirming it through `aops agent tools --summary --json`.
933
+
934
+ ## 31 Skill ve user guide arama disiplini
935
+
936
+ ### 31.1 Overview
937
+
938
+ #### 31.1.1 Overview
939
+
940
+ Use the smallest useful read:
941
+
942
+ ```bash
943
+ aops <family> --help
944
+ aops doc scope search --project-slug aops --q "<keywords>" --local --json
945
+ aops doc outline get --document-version-id <docver-id> --titles-only --depth 2 --json
946
+ aops view doc-page aops-cli-user-guide#27-guard-flag-konvansiyonu
947
+ ```
948
+
949
+ Search rules:
950
+
951
+ 1. Search by document title + section name + keywords, not bare section numbers.
952
+ 2. `doc scope search` is broad; verify the `documentSlug` and `mirrorPath` before trusting a hit.
953
+ 3. `doc search --local` is not a section body reader by itself.
954
+ 4. `view doc-page <document>#<number-prefixed-slug>` is the ergonomic local section reader.
955
+ 5. If a skill is thin, follow its canonical guide pointer rather than expecting full mechanics in the skill body.
956
+
957
+ ## 32 AGENTS.md prompt-template bootstrap
958
+
959
+ ### 32.1 Overview
960
+
961
+ #### 32.1.1 Overview
962
+
963
+ `aops agents-md` manages generated AGENTS.md prompt-template blocks. Keep project-specific rules outside the managed block.
964
+
965
+ ```bash
966
+ aops agents-md preview --collab
967
+ aops agents-md update --collab --apply
968
+ aops agents-md reset --apply --confirm
969
+ ```
970
+
971
+ Use this when a repo needs the standard AOPS task execution or collaborative work protocol reminders. Do not manually edit the managed block unless recovering from a broken generated state.
972
+
973
+ ## 33 Agent runtime prompt/skill bootstrap
974
+
975
+ ### 33.1 Overview
976
+
977
+ #### 33.1.1 Overview
978
+
979
+ Before asking a supported terminal agent to use AOPS, install and verify the
980
+ global gateway for all registered runtimes:
981
+
982
+ ```bash
983
+ aops assets install --target all --apply --json
984
+ aops assets status --verify quick --json
985
+ aops assets resolve --gateway aops --json
986
+ ```
987
+
988
+ `--target all` expands to the CLI's registered runtimes. A comma-separated or
989
+ repeated `--target` selects a subset. Runtime gateways point to the verified
990
+ user-level asset store and never require a repository checkout. If resolution
991
+ fails, inspect `aops assets status --verify full --json`; repair never
992
+ overwrites unknown user-owned files.
993
+
994
+ ## 34 `start` kickoff composer
995
+
996
+ ### 34.1 Overview
997
+
998
+ #### 34.1.1 Overview
999
+
1000
+ `aops start`, hosted "AOPS Collaborative Startup" starter promptunu kickoff cevaplarindan derler. Komutun canli yardimi kanoniktir:
1001
+
1002
+ ```bash
1003
+ aops start --help
1004
+ ```
1005
+
1006
+ Iki kullanim modu:
1007
+
1008
+ 1. Operator TTY: `aops start` sorulari interaktif sorar ve promptu stdout'a veya `--out <file>` ile dosyaya yazar.
1009
+ 2. Agent interview: `aops start --json` `result.missing` sorularini `askOperator` isaretiyle dondurur. Agent bildigi cevaplari flag olarak verir; yalniz `askOperator` kalemlerini operatore sorar. Roller operator-only'dir.
1010
+
1011
+ Varsayilan `--json` cikti compact'tir. Prompt govdesi inline gelmek yerine `result.promptRef` ile isaretlenir; `--out tmp/start.md` kullanmak uzun promptu dosyada tutar. Inline prompt sadece gercekten gerekiyorsa `--full-output` ile istenir.
1012
+
1013
+ Sik kullanilan komutlar:
1014
+
1015
+ ```bash
1016
+ aops start --mode solo --board <board> --task "<task>" --json --out tmp/start.md
1017
+ aops start --mode chat-room --board <board> --discipline build-review-chat --json
1018
+ aops start --resume <mission-id> --mode solo --board <board> --json
1019
+ aops start --reminder --task "<current task>" --area <area> --limit 3 --json
1020
+ ```
1021
+
1022
+ Ready sonucunda onemli alanlar:
1023
+
1024
+ 1. `result.promptRef.path` / `result.promptRef.sha256` - prompt dosyasi ve hash'i.
1025
+ 2. `result.memoryBrief` - read-only local-cache memory startup pack; `--no-memory-brief` bunu atlar.
1026
+ 3. `result.sessionGuidance` - layered runtime rules, discipline guardrails, accepted playbooks, ranked experience briefs.
1027
+ 4. `result.mission.policyJson` - mission create/update icin free-form policy seed.
1028
+
1029
+ `start --reminder` full kickoff degildir: soru sormaz, full starter prompt serialize etmez, PM/memory/hosted state yazmaz. Session ortasinda "neredeydik, hangi kurallar/playbook/experience gecerlidir?" sorusuna bounded read-only cevap verir.
1030
+
1031
+ ## 35 Mission and implementation plan
1032
+
1033
+ ### 35.1 Overview
1034
+
1035
+ #### 35.1.1 Overview
1036
+
1037
+ Mission Agentspace-owned session anchor'dir; Projectman task/sprint/RR truth'un yerine gecmez. Implementation-plan ise Projectman sprint facade'idir; plan id sprint id'dir.
1038
+
1039
+ ```bash
1040
+ aops mission create --objective "<objective>" --policy-json '<json>' --apply --json
1041
+ aops mission list --summary --json
1042
+ aops mission get --id <mission-id> --json
1043
+ aops mission update --id <mission-id> --active-plan <sprint-id> --apply --json
1044
+ aops mission resume --id <mission-id> --depth light --limit 8 --json
1045
+
1046
+ aops plan create --task <task-id> --name "<plan name>" --goal "<goal>" --apply --json
1047
+ aops plan get --id <sprint-id> --json
1048
+ aops plan update --id <sprint-id> --phases-json '@tmp/phases.json' --apply --json
1049
+ ```
1050
+
1051
+ Kurallar:
1052
+
1053
+ 1. Mission intent, status, policy ve active plan ref tutar.
1054
+ 2. Task, sprint phase/microtask, issue, feedback, RR/RRR Projectman'dedir.
1055
+ 3. Mission resume compact ve token-bounded'dir; raw skeleton icin `mission resume --full` yalniz gerekliyse kullanilir.
1056
+ 4. `start --resume <mission-id>` starter prompt ile ayni compact mission pack'i birlestirir.
1057
+ 5. Tek maddelik microtask editleri icin `aops pm utask ...` kullan; plan facade ikinci tablo degildir.
1058
+
1059
+ ## 36 Playbook and experience consult
1060
+
1061
+ ### 36.1 Overview
1062
+
1063
+ #### 36.1.1 Overview
1064
+
1065
+ Playbook ve experience startup'ta bulk-load edilmez. Once bounded pack okunur:
1066
+
1067
+ ```bash
1068
+ aops start --reminder --task "<current task>" --area <area> --limit 3 --json
1069
+ aops view experience --area <area>
1070
+ aops skill current --id <skill-id> --summary --json
1071
+ ```
1072
+
1073
+ `result.sessionGuidance` uc katmanli okunur:
1074
+
1075
+ 1. L1 runtime pointers: AGENTS.md, ChatV3/channel rules, command refs.
1076
+ 2. L2 discipline guardrails: id/title/phase/enforcement/evidence summary.
1077
+ 3. L3 accepted playbook briefs + ranked experience briefs.
1078
+
1079
+ Default experience limit 3, hard max 5'tir. Brief ilgisizse full body okunmaz; ilgiliyse skill/prompt/current summary, memory/experience detail veya doc ladder ile hedefli okunur.
1080
+
1081
+ ## 37 Checkpoint cadence
1082
+
1083
+ ### 37.1 Overview
1084
+
1085
+ #### 37.1.1 Overview
1086
+
1087
+ Checkpoint memory transcript degil, resume evidence pack'tir. Her chat satiri veya kucuk edit icin yazilmaz; anlamli milestone, decision, blocker, RR/RRR sonucu, import/publish slice'i veya session handoff noktasinda yazilir.
1088
+
1089
+ ```bash
1090
+ aops mem checkpoint --subject sprint --id <sprint-id> \
1091
+ --content '@tmp/checkpoint.md' \
1092
+ --task-id <task-id> --sprint-id <sprint-id> \
1093
+ --source-ref "projectman.review-request:<rr-id>" \
1094
+ --validation-state "PASS: tests/typecheck/smoke" \
1095
+ --next-action "<next action>" \
1096
+ --apply --json
1097
+ ```
1098
+
1099
+ Iyi checkpoint su bilgileri tasir:
1100
+
1101
+ 1. Request/purpose ve PM surface refs.
1102
+ 2. Concrete outcome ve current status.
1103
+ 3. Validation/review evidence.
1104
+ 4. Open risks/blockers.
1105
+ 5. Next action ve next-read refs.
1106
+
1107
+ Durable closeout memory operator onayi gerektirir; ordinary checkpoint short resume/carry-forward kalir.