@aopslabs/aops 0.3.31 → 0.3.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -3
- package/aops-assets-release/aops-assets.json.gz +0 -0
- package/aops-assets-release/disciplines/build-review-chat/SKILL.md +33 -0
- package/aops-assets-release/disciplines/coordinator-loop/SKILL.md +33 -0
- package/aops-assets-release/disciplines/design-first-consensus/SKILL.md +30 -0
- package/aops-assets-release/disciplines/solo-pm-loop/SKILL.md +31 -0
- package/aops-assets-release/docs/user-guides/agentspace-user-guide.md +384 -0
- package/aops-assets-release/docs/user-guides/aops-cli-user-guide.md +2067 -0
- package/aops-assets-release/docs/user-guides/chatv3-user-guide.md +500 -0
- package/aops-assets-release/docs/user-guides/docman-user-guide.md +1009 -0
- package/aops-assets-release/docs/user-guides/projectman-user-guide.md +763 -0
- package/aops-assets-release/docs/user-guides/tasker-user-guide.md +244 -0
- package/aops-assets-release/release.json +6 -0
- package/aops-assets-release/roles/coordinator/ROLE.md +28 -0
- package/aops-assets-release/roles/implementer/ROLE.md +27 -0
- package/aops-assets-release/roles/reviewer/ROLE.md +27 -0
- package/aops-assets-release/skills/aops/SKILL.md +112 -0
- package/aops-assets-release/skills/aops-bootstrapper-authoring/SKILL.md +245 -0
- package/aops-assets-release/skills/aops-cli-agentspace/SKILL.md +186 -0
- package/aops-assets-release/skills/aops-cli-board-lifecycle/SKILL.md +64 -0
- package/aops-assets-release/skills/aops-cli-chat/SKILL.md +204 -0
- package/aops-assets-release/skills/aops-cli-collab/SKILL.md +42 -0
- package/aops-assets-release/skills/aops-cli-core/SKILL.md +219 -0
- package/aops-assets-release/skills/aops-cli-discuss/SKILL.md +172 -0
- package/aops-assets-release/skills/aops-cli-docman/SKILL.md +192 -0
- package/aops-assets-release/skills/aops-cli-fileman/SKILL.md +169 -0
- package/aops-assets-release/skills/aops-cli-mission/SKILL.md +128 -0
- package/aops-assets-release/skills/aops-cli-operator-brief/SKILL.md +67 -0
- package/aops-assets-release/skills/aops-cli-projectman/SKILL.md +235 -0
- package/aops-assets-release/skills/aops-cli-sugar-authoring/SKILL.md +188 -0
- package/aops-assets-release/skills/aops-cli-tasker/SKILL.md +108 -0
- package/aops-assets-release/skills/aops-cli-tooling-agent/SKILL.md +112 -0
- package/aops-assets-release/skills/aops-cli-view/SKILL.md +210 -0
- package/aops-assets-release/skills/aops-collaborative-work/SKILL.md +304 -0
- package/aops-assets-release/skills/aops-interactive/SKILL.md +70 -0
- package/aops-assets-release/skills/aops-loop-interactive/SKILL.md +314 -0
- package/aops-assets-release/skills/aops-working-disciplines/SKILL.md +310 -0
- package/aops-assets-release/skills/feature-retirement-flow/SKILL.md +126 -0
- package/assets/skills/aops-install/SKILL.md +18 -17
- package/dist/commands/assets.js +93 -1264
- package/dist/commands/community-server.js +27 -8
- package/dist/commands/community-setup.js +1 -2
- package/dist/commands/discuss.js +1 -1
- package/dist/commands/doc.js +88 -27
- package/dist/commands/docs.js +68 -0
- package/dist/commands/global-update.js +28 -0
- package/dist/commands/init.js +3 -1
- package/dist/commands/loop.js +6379 -0
- package/dist/commands/memory.js +2 -1
- package/dist/commands/pm/index.js +11 -9
- package/dist/commands/pm/projectman.js +33 -2
- package/dist/commands/project.js +6 -6
- package/dist/commands/prompt.js +1 -1
- package/dist/commands/repo-sync.js +92 -27
- package/dist/commands/runner.js +257 -0
- package/dist/commands/skill.js +1 -1
- package/dist/commands/start.js +1 -1
- package/dist/commands/tasker.js +361 -0
- package/dist/commands/view.js +53 -9
- package/dist/lib/commercial-setup-readiness-adapter.js +0 -1
- package/dist/lib/community-migration-snapshot.js +7 -9
- package/dist/lib/community-native-database-recovery.js +5 -14
- package/dist/lib/community-native-lifecycle.js +13 -0
- package/dist/lib/setup-agent-assets-bridge.js +28 -148
- package/dist/lib/setup-agent-assets-release.js +16 -44
- package/dist/lib/setup-init-orchestrator.js +11 -15
- package/dist/lib/simple-agent-assets.js +447 -0
- package/dist/lib/user-guide-sections.js +488 -0
- package/dist/main.js +10 -2
- package/dist/seeds/agents-md.js +3 -3
- package/dist/utils/agents-md.js +1 -1
- package/dist/utils/guide-paths.js +7 -7
- package/dist/utils/hosted-workspace.js +2 -1
- package/dist/utils/repo-first-storage.js +26 -1
- package/dist/utils/session-state.js +2 -7
- package/launchers/aops-cockpit.sh +0 -0
- package/launchers/aops-server.sh +0 -0
- package/package.json +67 -35
- package/THIRD_PARTY_NOTICES +0 -16169
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/SKILL.md +0 -47
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/agentspace/SKILL.md +0 -72
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/aops-cli-core/SKILL.md +0 -110
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/chatv3/SKILL.md +0 -59
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/collaborative-work/SKILL.md +0 -81
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/discuss/SKILL.md +0 -66
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/docman/SKILL.md +0 -75
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/projectman/SKILL.md +0 -92
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/sys/SKILL.md +0 -36
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/view/SKILL.md +0 -58
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/references/working-disciplines/SKILL.md +0 -66
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/agent-assets.md +0 -81
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/agentspace.md +0 -183
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/aops-cli.md +0 -1108
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/aops-system.md +0 -102
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/chatv3.md +0 -113
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/docman.md +0 -223
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/projectman.md +0 -233
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/sys.md +0 -94
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/files/user-guides/working-disciplines.md +0 -482
- package/agent-assets-release/agent-assets/core/bc42dd7792dbe66040e99a7ef3d80b3bc788c72b369b5a065cf936aef29f53fb/manifest.json +0 -117
- package/agent-assets-release/agent-assets/gateway/aops/SKILL.md +0 -14
- package/agent-assets-release/agent-assets/inventory.json +0 -29
- package/agent-assets-release/agent-assets/projection.json +0 -8
- package/agent-assets-release/agent-assets-release.json +0 -171
- package/agent-assets-release/agent-assets-release.sigstore.json +0 -67
- package/assets/agent-assets/core/SKILL.md +0 -47
- package/assets/agent-assets/core/references/agentspace/SKILL.md +0 -72
- package/assets/agent-assets/core/references/aops-cli-core/SKILL.md +0 -110
- package/assets/agent-assets/core/references/chatv3/SKILL.md +0 -59
- package/assets/agent-assets/core/references/collaborative-work/SKILL.md +0 -81
- package/assets/agent-assets/core/references/discuss/SKILL.md +0 -66
- package/assets/agent-assets/core/references/docman/SKILL.md +0 -75
- package/assets/agent-assets/core/references/projectman/SKILL.md +0 -92
- package/assets/agent-assets/core/references/sys/SKILL.md +0 -36
- package/assets/agent-assets/core/references/view/SKILL.md +0 -58
- package/assets/agent-assets/core/references/working-disciplines/SKILL.md +0 -66
- package/assets/agent-assets/core/user-guides/agent-assets.md +0 -81
- package/assets/agent-assets/core/user-guides/agentspace.md +0 -183
- package/assets/agent-assets/core/user-guides/aops-cli.md +0 -1108
- package/assets/agent-assets/core/user-guides/aops-system.md +0 -102
- package/assets/agent-assets/core/user-guides/chatv3.md +0 -113
- package/assets/agent-assets/core/user-guides/docman.md +0 -223
- package/assets/agent-assets/core/user-guides/projectman.md +0 -233
- package/assets/agent-assets/core/user-guides/sys.md +0 -94
- package/assets/agent-assets/core/user-guides/working-disciplines.md +0 -482
- package/assets/agent-assets/gateway/aops/SKILL.md +0 -14
- package/dist/lib/agent-assets/gateway.js +0 -15
- package/dist/lib/agent-assets/guards.js +0 -23
- package/dist/lib/agent-assets/hosted-discovery.js +0 -148
- package/dist/lib/agent-assets/hosted-package-input.js +0 -154
- package/dist/lib/agent-assets/legacy-pointer-migration.js +0 -677
- package/dist/lib/agent-assets/native-fs.js +0 -589
- package/dist/lib/agent-assets/roots.js +0 -45
- package/dist/lib/agent-assets/runtime-binding-reader.js +0 -545
- package/dist/lib/agent-assets/runtime-targets.js +0 -50
- package/dist/lib/agent-assets/store-reader.js +0 -1212
- package/dist/lib/agent-assets/store-writer.js +0 -1484
- 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 +0 -49
- package/native/qualifications/win32-x64.json +0 -23
- package/native/tui/darwin-arm64/aops-tui +0 -0
- package/native/tui/linux-x64/aops-tui +0 -0
- package/native/tui/win32-x64/aops-tui.exe +0 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-retirement-flow
|
|
3
|
+
description: Use when a feature is being removed from an AOPS repository set rather than changed — retiring a domain capability, deleting a surface that shipped, or taking a concept out of the product. Covers the measured residue inventory, the three touch classes and their different rules, the irreversible-schema gate, the dependant-republish cascade, and the proofs that close it. Not for refactors, deprecations that keep the code, or feature flags.
|
|
4
|
+
short-description: Measured, gated removal of a shipped feature across repos
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Feature retirement flow
|
|
8
|
+
|
|
9
|
+
Removing a feature is not a large refactor. A refactor keeps the behaviour and moves the code; a retirement destroys behaviour that shipped, and everything that consumed it has to be brought to a coherent state in the same release. The failure mode is not a compile error — it is a half-removed concept that still has a table, a route, a published type, or a skill telling agents to use it.
|
|
10
|
+
|
|
11
|
+
This flow exists to make the removal **measured, classified, and provable**. Follow it in order. Every step produces a number or an artifact that the next step consumes.
|
|
12
|
+
|
|
13
|
+
## 0. Establish that retirement is the right shape
|
|
14
|
+
|
|
15
|
+
Retirement means: the capability goes away, and no consumer is expected to migrate to a replacement inside this change. If a replacement exists and consumers must move to it, that is a migration and it needs a deprecation window — a different flow. If the code stays behind a flag, that is not retirement either.
|
|
16
|
+
|
|
17
|
+
Write down, in the tracking record, one sentence: *what stops being possible after this lands*. If that sentence is hard to write, the scope is not a retirement yet.
|
|
18
|
+
|
|
19
|
+
## 1. Measure the residue, from inside each repository
|
|
20
|
+
|
|
21
|
+
Run the inventory from **inside each repository root**, not from a parent directory. Measuring from a parent silently includes sibling trees and produces numbers you cannot reproduce later; a scope estimate you cannot reproduce is worse than no estimate, because plans get built on it.
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
grep -rIlE '(^|[^A-Za-z])<concept>|[a-z]<Concept>' . \
|
|
25
|
+
| grep -vE 'node_modules|(^|/)dist/|(^|/)build/|\.svelte-kit|pnpm-lock|(^|/)\.git/'
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Calibrate the pattern in both directions before you trust a number**, because
|
|
29
|
+
the two obvious spellings each fail in an opposite way. `\b<concept>\b` misses
|
|
30
|
+
camelCase — it will not find `RepositoryFactoryMission` — and a bare
|
|
31
|
+
`<concept>` over-matches: searching for `mission` returns every `permission` in
|
|
32
|
+
the tree. So the pattern above asks for a non-letter before the lowercase form
|
|
33
|
+
and matches the capitalised form only after a lowercase letter, and it does not
|
|
34
|
+
use `-i`, which would re-introduce the `permission` problem. Prove both
|
|
35
|
+
directions on real files: one hit you know should be found, one you know should
|
|
36
|
+
not.
|
|
37
|
+
|
|
38
|
+
**The exclusion list needs `(^|/)` on every segment.** A pattern like `/dist/`
|
|
39
|
+
only matches when the directory is nested, because the tool emits root-level
|
|
40
|
+
paths without a leading `./` — `drizzle-out/meta/x.json`, not
|
|
41
|
+
`./drizzle-out/meta/x.json`. A repository-root `dist`, `build`, `drizzle-out` or
|
|
42
|
+
`.git` slips straight through, and `.git` is at the root of every repository. And
|
|
43
|
+
test the filter by **running the producing command and piping one of its real
|
|
44
|
+
lines through it** — checking it against a path you typed from memory validates
|
|
45
|
+
your idea of the output, not the output.
|
|
46
|
+
|
|
47
|
+
Record, per repository: the total, and the breakdown by file extension. The extension histogram is the important part — it is what tells you which of the three classes below you are actually in, and it is how a reviewer checks your number without re-deriving it.
|
|
48
|
+
|
|
49
|
+
State the number in the tracking record and in the coordination room **before** editing anything. A retirement whose size is announced afterwards cannot be reviewed, only accepted.
|
|
50
|
+
|
|
51
|
+
## 2. Classify every hit into exactly one of three classes
|
|
52
|
+
|
|
53
|
+
The classes have different rules. Mixing them is the most common way a retirement goes wrong.
|
|
54
|
+
|
|
55
|
+
**Class A — live code and configuration.** Source, tests, wiring, build config, workflow files. These are **deleted** — and deleting a file means deleting every reference to its *name* as well. A workflow step, a package script entry, or an import path that names a file you removed does not mention the retired concept at all, so nothing in a concept search will ever surface it. The reference scan is part of the delete step, not a later cleanup. Before deleting a function or module that the feature owned, read what is *inside* it: retired features accumulate logic that never belonged to them — a default, a validation, a piece of guidance the rest of the product still needs. Extract that first and land it where it belongs, then delete the wrapper. Deleting the wrapper whole removes behaviour nobody decided to retire, and it does so silently, because no test names the retired feature. A test that exists only to exercise the retired feature is deleted with it; a test that covers a surface the feature merely touched is edited, not deleted, and the edit must keep the assertion meaningful rather than trivially true.
|
|
56
|
+
|
|
57
|
+
**Class B — shipped documentation and agent assets.** Guides, skills, prompts, runbooks, anything the product hands to a user or an agent. These are **updated**, never left stale. An agent asset that still instructs agents to use a retired capability is a live defect, not documentation debt: the asset ships, so it keeps producing the behaviour after the code is gone. Updated is the rule for an asset that merely *mentions* the capability. An asset that exists **entirely** for it — a skill, a runbook, a reference page about the retired feature and nothing else — is deleted, not rewritten: editing it leaves a document whose subject no longer exists, and the shipped asset set keeps handing it to agents. Deleting it is a Class A action on a Class B file, so it takes the reference scan with it.
|
|
58
|
+
|
|
59
|
+
**Class C — historical records.** Review requests, chat manifests, provenance records, changelogs, decision logs, migration journals. These are **not rewritten**. History records what was true when it was written. Retiring a feature does not make its past untrue, and editing these destroys the audit trail the rest of the release depends on. If a historical record must be annotated, append; do not revise.
|
|
60
|
+
|
|
61
|
+
**A record's class is measured, not inferred from how it looks.** A file can carry every mark of history — an old version id, a superseded name, a fingerprint from a finished migration — and still be a derived artifact that some assertion regenerates from the current world. Before agreeing to protect something as Class C, find the code that *writes or validates* it. If a gate reproduces it from today's inputs, it is Class A and it has to move with them; treating it as history leaves a stale record that fails a gate nobody can explain. This is the failure mode that survives review, because a guardrail phrased as "do not touch that" reads as caution and gets agreed to.
|
|
62
|
+
|
|
63
|
+
Publish the class counts alongside the totals. A reviewer's first question is which files you put in Class C, because that is where an over-eager removal does damage that cannot be undone.
|
|
64
|
+
|
|
65
|
+
## 3. Gate the irreversible parts separately
|
|
66
|
+
|
|
67
|
+
Schema changes, data migrations, and anything that drops storage are **not part of the same step as code removal**, and they do not share its approval.
|
|
68
|
+
|
|
69
|
+
- Enumerate every table, column, index, and migration file the feature owns.
|
|
70
|
+
- Decide, explicitly and in writing, whether data is dropped or retained-but-orphaned. "We will drop it" is a decision someone with authority makes; it is never a consequence of deleting code.
|
|
71
|
+
- A migration that drops storage lands **after** the code that reads it is gone and published, not with it. Otherwise a rollback of the code lands on a schema that can no longer serve it.
|
|
72
|
+
- Record the migration's risk classification in whatever policy the repository uses for migrations, and expect that to require its own review.
|
|
73
|
+
|
|
74
|
+
If the retirement's schema half cannot be approved in this release, the code half can still land — but say so explicitly, because a retirement that leaves its tables behind is a known, recorded state rather than an oversight.
|
|
75
|
+
|
|
76
|
+
## 4. Follow the republish cascade
|
|
77
|
+
|
|
78
|
+
In a workspace where packages depend on each other by workspace reference, removing a feature from one package changes the packed bytes of every package that depends on it, whether or not their own source changed.
|
|
79
|
+
|
|
80
|
+
- List the dependants of every package you touched.
|
|
81
|
+
- Each dependant whose packed manifest or content changes needs a version bump, and each bump needs its own declaration sites updated — versions in this kind of repository are typically written in several places that nothing derives from each other.
|
|
82
|
+
- Before publishing anything, verify that every internal pin in every candidate manifest either resolves on the registry or is published in the same run. A workspace reference resolves to the **local** version at pack time, so a retirement that bumps a package without publishing it can seal a version nobody can install.
|
|
83
|
+
|
|
84
|
+
## 5. Prove zero residue
|
|
85
|
+
|
|
86
|
+
The removal is not done when it compiles. It is done when the inventory from step 1, re-run with the same command from the same working directory, returns only Class C files.
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
# after the removal — the same pattern and exclusions as step 1
|
|
90
|
+
grep -rIlE '(^|[^A-Za-z])<concept>|[a-z]<Concept>' . \
|
|
91
|
+
| grep -vE 'node_modules|(^|/)dist/|(^|/)build/|\.svelte-kit|pnpm-lock|(^|/)\.git/'
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Then run the second probe, which measures something the first one structurally cannot. For **every file, script, and command name you deleted**, search the whole repository set for that name — basename, package-script key, import path, workflow step. It must return nothing.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
# for each deleted name
|
|
98
|
+
grep -rInF '<deleted-basename-or-script-key>' . \
|
|
99
|
+
| grep -vE 'node_modules|(^|/)dist/|(^|/)build/|\.svelte-kit|pnpm-lock|(^|/)\.git/'
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Derive that list of names from the diff rather than from memory —
|
|
103
|
+
`git diff --diff-filter=D --name-only <base>..<head>` — and add the names of
|
|
104
|
+
anything you removed from inside a file that survived.
|
|
105
|
+
|
|
106
|
+
A concept search measures **content**; this one measures **references**. They are different kinds of residue and one never finds the other. The failure this prevents is real and recent: a retirement removed a tooling script cleanly, but the CI workflow still invoked it by name. The invocation contained no trace of the retired concept, so a concept-only closing check reported zero residue while CI failed on every push for two days — and because the chain stopped there, it also hid the next failure behind it.
|
|
107
|
+
|
|
108
|
+
**Run the closing probe at the final commit, with a clean working tree.** A retirement usually lands in several commits, and a count taken before the last one describes a state that never ships. An intermediate number cannot go into the closing record: it will be larger than the truth, it will name files that are already clean, and the next person will go looking for residue that is not there.
|
|
109
|
+
|
|
110
|
+
Every remaining hit is named in the closing record with its class and the reason it stays — including the ones that are **not** residue at all. A concept search finds the word, not the feature, so a fixture called "Mission Plan" or a variable named `permission` will surface; name those explicitly as legitimate false positives, or someone later will "clean up" a file that was never part of this. "Nothing remains" is not a claim you make; it is a diff between two runs of the same command, and both runs belong in the record.
|
|
111
|
+
|
|
112
|
+
Then run the repository's own gates — the full verification command, not a subset you chose. If the chain stops at the first failure, run the steps **after** the failing one individually before reporting what is blocking; a chain reports one failure, not the set of them.
|
|
113
|
+
|
|
114
|
+
## 6. Close it
|
|
115
|
+
|
|
116
|
+
- The tracking record carries: the before/after inventory numbers, the class breakdown, the schema decision and who made it, the list of republished packages, and the remaining Class C hits.
|
|
117
|
+
- The sentence from step 0 goes in the release notes. Users are entitled to know what stopped being possible.
|
|
118
|
+
- If agent assets changed, the shipped asset set is republished; an updated asset that never ships has not been updated.
|
|
119
|
+
|
|
120
|
+
## What makes this go wrong
|
|
121
|
+
|
|
122
|
+
The recurring pattern is not carelessness, it is **partial visibility**. Someone measures the code and not the assets, or the source and not the schema, or one repository and not its dependants. Each partial view produces a plan that looks complete and finishes early, and the missing part surfaces after the release, in someone else's install.
|
|
123
|
+
|
|
124
|
+
So the discipline is: measure everything first, classify before editing, keep the irreversible on its own gate, and close with the same command you opened with.
|
|
125
|
+
|
|
126
|
+
That last clause earns its place. In the retirement this version was written from, the closing inventory was run one commit early and reported four residual files; the reviewer re-ran the same command at the final commit and got two. Nothing was wrong with the removal — the record was simply about to close with a number that had never been true of the shipped state. The two-run diff is not ceremony: it is the only part of this flow that catches a closing claim, and it only works if someone other than the author runs the second leg.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: aops-install
|
|
3
|
-
description: Guide an AI agent through safe AOPS Community npm installation with an existing database, AOPS-managed Docker PostgreSQL, or detected local PostgreSQL; then verify migrations,
|
|
3
|
+
description: Guide an AI agent through safe AOPS Community npm installation with an existing database, AOPS-managed Docker PostgreSQL, or detected local PostgreSQL; then verify migrations, global AOPS skills, server health, and Cockpit. Use for install, initialize, configure, repair, verify, or setup explanation requests after installing @aopslabs/aops.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# AOPS Community installation
|
|
@@ -20,7 +20,7 @@ aops --version
|
|
|
20
20
|
aops setup init --yes --json
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
This setup envelope already includes installation, PostgreSQL, host, and
|
|
23
|
+
This setup envelope already includes installation, PostgreSQL, host, and global skill
|
|
24
24
|
readiness. Read its actions before choosing a path. Run `aops assets status` or
|
|
25
25
|
`aops server status` separately only when that check is action-required and more
|
|
26
26
|
detail is needed.
|
|
@@ -42,7 +42,7 @@ environment/configuration files.
|
|
|
42
42
|
| let AOPS manage Docker PostgreSQL | path `2` |
|
|
43
43
|
| create AOPS DB in PostgreSQL on this computer | path `3` |
|
|
44
44
|
| connect only to an existing AOPS server | path `4` |
|
|
45
|
-
|
|
|
45
|
+
| install, update, or roll back global AOPS skills | `aops assets --help` |
|
|
46
46
|
| operate an installed local server | `aops server --help` |
|
|
47
47
|
|
|
48
48
|
Load only the section needed for the selected path. The current nested `--help`
|
|
@@ -58,15 +58,13 @@ aops
|
|
|
58
58
|
|
|
59
59
|
All local-server paths use the normal `default` instance, API port `5900`, and
|
|
60
60
|
independently supervised Cockpit port `5922`, verify
|
|
61
|
-
migrations, install the
|
|
61
|
+
migrations, install the bundled public AOPS skills for Codex and Claude, reconcile the inert signed
|
|
62
62
|
official catalog, and leave starter/demo user data untouched. The TUI collects
|
|
63
63
|
the selected path's required private inputs and calls only explicit CLI commands.
|
|
64
64
|
The CLI itself never opens a menu or asks a question. Setup automatically
|
|
65
|
-
installs or repairs the
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
working-discipline references. Setup makes disciplines available but does not
|
|
69
|
-
select one. Additional signed catalog packages are imported as discoverable,
|
|
65
|
+
installs or repairs the current AOPS skill release directly in both global skill
|
|
66
|
+
directories. Setup makes disciplines available but does not select one.
|
|
67
|
+
Additional signed catalog packages are imported as discoverable,
|
|
70
68
|
inert choices. Use `--agent-assets skip` or `--no-catalog`
|
|
71
69
|
only when the operator explicitly opts out.
|
|
72
70
|
|
|
@@ -82,7 +80,7 @@ aops server reset --remove-managed-postgres --confirm-data-loss --confirm-instan
|
|
|
82
80
|
aops
|
|
83
81
|
```
|
|
84
82
|
|
|
85
|
-
Global AOPS skills
|
|
83
|
+
Global AOPS skills are shared installation assets and remain installed after server reset.
|
|
86
84
|
|
|
87
85
|
The default `trusted-local` server binds only to `127.0.0.1:5900`; it never
|
|
88
86
|
trusts LAN or Tailscale interfaces. AOPS Server on `5900` and Cockpit on `5922`
|
|
@@ -181,20 +179,23 @@ pass that exact value to the apply command. A stale identity fails before any
|
|
|
181
179
|
setup mutation. Never invent or reuse a plan id from another machine, source,
|
|
182
180
|
path, or readiness snapshot.
|
|
183
181
|
|
|
184
|
-
All paths install the
|
|
182
|
+
All paths install the bundled AOPS skills for Codex and Claude. Local-server
|
|
185
183
|
paths also reconcile the inert signed official catalog. No path seeds
|
|
186
184
|
starter/demo user data. Use `--agent-assets skip` or `--no-catalog` only for an
|
|
187
185
|
explicit opt-out.
|
|
188
186
|
|
|
189
|
-
If
|
|
187
|
+
If global AOPS skills need a separate action, install them directly:
|
|
190
188
|
|
|
191
189
|
```sh
|
|
192
|
-
aops assets install --target all --
|
|
190
|
+
aops assets install --target all --json
|
|
193
191
|
```
|
|
194
192
|
|
|
195
|
-
Use `--target codex
|
|
193
|
+
Use `--target codex` or `--target claude` for an explicit subset. The normal
|
|
194
|
+
target is `all`.
|
|
196
195
|
|
|
197
|
-
Do not supply a release directory in the normal npm flow. `--from-release`
|
|
196
|
+
Do not supply a release directory in the normal npm flow. `--from-release` is
|
|
197
|
+
only a local/offline input. npm `postinstall` never writes runtime homes; only
|
|
198
|
+
the explicit assets commands do.
|
|
198
199
|
|
|
199
200
|
## Verify and hand off
|
|
200
201
|
|
|
@@ -203,7 +204,7 @@ aops server start --json
|
|
|
203
204
|
aops server health --json
|
|
204
205
|
aops cockpit start --json
|
|
205
206
|
aops cockpit health --json
|
|
206
|
-
aops assets status --
|
|
207
|
+
aops assets status --json
|
|
207
208
|
aops cockpit --no-open --json
|
|
208
209
|
```
|
|
209
210
|
|
|
@@ -223,7 +224,7 @@ its URL; it never starts the server implicitly. Do not copy database secrets
|
|
|
223
224
|
into these scripts or their arguments.
|
|
224
225
|
|
|
225
226
|
Read and report the apply result's migration verification, then report the
|
|
226
|
-
selected path, server health,
|
|
227
|
+
selected path, server health, installed AOPS skill version, and the
|
|
227
228
|
separate server and Cockpit URLs. `aops server stop` must not stop Cockpit;
|
|
228
229
|
`aops cockpit stop` must not stop the server. Never report success from process
|
|
229
230
|
exit alone when JSON says
|