sagaz-ai 0.3.0 → 0.3.2
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/CHANGELOG.md +111 -0
- package/README.md +9 -0
- package/RELEASE_NOTES.md +18 -23
- package/ai-orchestration-ecosystem/ADOPTION.md +178 -0
- package/ai-orchestration-ecosystem/INDEX.md +6 -0
- package/ai-orchestration-ecosystem/README.md +9 -5
- package/ai-orchestration-ecosystem/manifest.json +2 -0
- package/ai-orchestration-ecosystem/protocols/memory.md +135 -19
- package/ai-orchestration-ecosystem/templates/operational-memory.md +49 -0
- package/package.json +1 -1
- package/scripts/verify-package.js +82 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,116 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.2] - 2026-06-11
|
|
4
|
+
|
|
5
|
+
### Release Type
|
|
6
|
+
|
|
7
|
+
Patch
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Operational memory protocol for recurring project and team preferences across Sagaz runs.
|
|
12
|
+
- Operational memory template for `.sagaz/operational-memory.md` style project memory.
|
|
13
|
+
- Package validation for operational memory sections, safety terms, permission references, and template structure.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- README, ecosystem README, INDEX, and manifest now expose operational memory as an official Sagaz capability.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Replaced the previous generic memory protocol with a concrete approval-based operational memory contract.
|
|
22
|
+
|
|
23
|
+
### Removed
|
|
24
|
+
|
|
25
|
+
- None.
|
|
26
|
+
|
|
27
|
+
### Security
|
|
28
|
+
|
|
29
|
+
- Operational memory explicitly forbids secrets, credentials, session data, production data, and sensitive personal data.
|
|
30
|
+
- Durable project or team memory requires explicit user approval.
|
|
31
|
+
|
|
32
|
+
### Compatibility
|
|
33
|
+
|
|
34
|
+
- Windows: supported through Codex Desktop.
|
|
35
|
+
- macOS: supported through Codex Desktop.
|
|
36
|
+
- Node.js: package baseline remains `>=22.14`; Node.js 24 is preferred for new installs and CI.
|
|
37
|
+
- Codex Desktop: Sagaz remains a Codex Desktop orchestration skill, not a standalone terminal agent runtime.
|
|
38
|
+
|
|
39
|
+
### Migration Notes
|
|
40
|
+
|
|
41
|
+
- Existing users should run `npx sagaz-ai@0.3.2 sync` or `npx sagaz-ai sync` to refresh the installed Codex Desktop skill.
|
|
42
|
+
- Open a new Codex Desktop thread after syncing so the updated skill can be discovered.
|
|
43
|
+
|
|
44
|
+
### Verification
|
|
45
|
+
|
|
46
|
+
- npm test: passed locally on Windows.
|
|
47
|
+
- npm run doctor: passed locally on Windows with `Synchronized with source: yes`.
|
|
48
|
+
- npm pack --dry-run: passed locally on Windows after allowing npm cache access outside the sandbox.
|
|
49
|
+
- Windows: prepared from a Windows Codex Desktop workspace.
|
|
50
|
+
- macOS: package checks remain covered by GitHub Actions.
|
|
51
|
+
- Codex Desktop: skill sync remains required after install or upgrade.
|
|
52
|
+
|
|
53
|
+
### Release Evidence
|
|
54
|
+
|
|
55
|
+
- Commit: pending.
|
|
56
|
+
- Tag: pending.
|
|
57
|
+
- GitHub release: pending.
|
|
58
|
+
- npm package: pending.
|
|
59
|
+
|
|
60
|
+
## [0.3.1] - 2026-06-11
|
|
61
|
+
|
|
62
|
+
### Release Type
|
|
63
|
+
|
|
64
|
+
Patch
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
|
|
68
|
+
- Sagaz adoption guide for first use in another project, team onboarding, invocation prompts, cross-platform notes, permission model, and evidence expectations.
|
|
69
|
+
|
|
70
|
+
### Changed
|
|
71
|
+
|
|
72
|
+
- README, ecosystem README, INDEX, manifest, and package verifier now register the adoption guide as an official ecosystem document.
|
|
73
|
+
|
|
74
|
+
### Fixed
|
|
75
|
+
|
|
76
|
+
- None.
|
|
77
|
+
|
|
78
|
+
### Removed
|
|
79
|
+
|
|
80
|
+
- None.
|
|
81
|
+
|
|
82
|
+
### Security
|
|
83
|
+
|
|
84
|
+
- No security changes.
|
|
85
|
+
|
|
86
|
+
### Compatibility
|
|
87
|
+
|
|
88
|
+
- Windows: supported through Codex Desktop.
|
|
89
|
+
- macOS: supported through Codex Desktop.
|
|
90
|
+
- Node.js: package baseline remains `>=22.14`; Node.js 24 is preferred for new installs and CI.
|
|
91
|
+
- Codex Desktop: Sagaz remains a Codex Desktop orchestration skill, not a standalone terminal agent runtime.
|
|
92
|
+
|
|
93
|
+
### Migration Notes
|
|
94
|
+
|
|
95
|
+
- Existing users should run `npx sagaz-ai@0.3.1 sync` or `npx sagaz-ai sync` to refresh the installed Codex Desktop skill.
|
|
96
|
+
- Open a new Codex Desktop thread after syncing so the updated skill can be discovered.
|
|
97
|
+
|
|
98
|
+
### Verification
|
|
99
|
+
|
|
100
|
+
- npm test: passed locally on Windows.
|
|
101
|
+
- npm run doctor: passed locally on Windows with `Synchronized with source: yes`.
|
|
102
|
+
- npm pack --dry-run: passed locally on Windows after allowing npm cache access outside the sandbox.
|
|
103
|
+
- Windows: prepared from a Windows Codex Desktop workspace.
|
|
104
|
+
- macOS: package checks remain covered by GitHub Actions.
|
|
105
|
+
- Codex Desktop: skill sync remains required after install or upgrade.
|
|
106
|
+
|
|
107
|
+
### Release Evidence
|
|
108
|
+
|
|
109
|
+
- Commit: pending.
|
|
110
|
+
- Tag: pending.
|
|
111
|
+
- GitHub release: pending.
|
|
112
|
+
- npm package: pending.
|
|
113
|
+
|
|
3
114
|
## [0.3.0] - 2026-06-11
|
|
4
115
|
|
|
5
116
|
### Release Type
|
package/README.md
CHANGED
|
@@ -36,6 +36,7 @@ Sagaz also guides the user through the process. At the end of each phase, it exp
|
|
|
36
36
|
- **GitHub without guesswork:** Sagaz recommends commits, pushes, pull requests, issues, and releases at the right time.
|
|
37
37
|
- **Web and mobile:** workflows for browser apps, websites, dashboards, Android, and iOS.
|
|
38
38
|
- **Persistent state:** Markdown run state records decisions, approvals, handoffs, risks, and test evidence.
|
|
39
|
+
- **Operational memory:** optional project or team memory records recurring preferences without storing secrets or bypassing approvals.
|
|
39
40
|
- **Agent observability:** compact traces record decisions, tools, evidence, failures, and recoveries.
|
|
40
41
|
- **Durable checkpoints:** long projects can resume across threads and refactors without losing context.
|
|
41
42
|
- **Tool registry:** Sagaz verifies and recommends tools such as GitHub CLI, Playwright, Vercel, Expo/EAS, Supabase, Firebase, Stripe, CI/CD, and observability services.
|
|
@@ -168,6 +169,14 @@ Then open a new Codex Desktop thread and run:
|
|
|
168
169
|
Sagaz: explain the available workflows.
|
|
169
170
|
```
|
|
170
171
|
|
|
172
|
+
For the first real use in another project, start with:
|
|
173
|
+
|
|
174
|
+
```text
|
|
175
|
+
Sagaz: audit this project and tell me what workflow, stack playbook, risks, tests, and next implementation step you recommend. Do not change files yet.
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
The detailed adoption guide lives at `ai-orchestration-ecosystem/ADOPTION.md`.
|
|
179
|
+
|
|
171
180
|
### Manual Installation
|
|
172
181
|
|
|
173
182
|
#### 1. Clone Or Download The Repository
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## Release
|
|
4
4
|
|
|
5
|
-
Version: 0.3.
|
|
5
|
+
Version: 0.3.2
|
|
6
6
|
Date: 2026-06-11
|
|
7
|
-
Release type:
|
|
7
|
+
Release type: Patch
|
|
8
8
|
GitHub commit: pending
|
|
9
9
|
Git tag: pending
|
|
10
10
|
GitHub release: pending
|
|
@@ -12,38 +12,33 @@ npm package: pending
|
|
|
12
12
|
|
|
13
13
|
## Summary
|
|
14
14
|
|
|
15
|
-
Sagaz 0.3.
|
|
15
|
+
Sagaz 0.3.2 adds operational memory: a safe, explicit, approval-based way to record recurring project and team preferences across Sagaz runs without storing secrets or bypassing current user instructions.
|
|
16
16
|
|
|
17
17
|
## Audience Impact
|
|
18
18
|
|
|
19
|
-
- New users:
|
|
20
|
-
- Existing users:
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
- Engineering team: workflow evidence now includes traceable commands, decisions, failures, permissions, and handoffs.
|
|
19
|
+
- New users: can understand how Sagaz handles recurring preferences before using it across multiple projects.
|
|
20
|
+
- Existing users: can sync the installed skill and use the new memory protocol/template in real projects.
|
|
21
|
+
- Teams: get a safer shared preference artifact for stack, design, verification, GitHub, deployment, and handoff expectations.
|
|
22
|
+
- Maintainers: package validation now protects the memory protocol and template from accidental drift.
|
|
24
23
|
|
|
25
24
|
## What Changed
|
|
26
25
|
|
|
27
|
-
-
|
|
28
|
-
- Added
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
- Added
|
|
32
|
-
- Added an execution trace template and stronger observability protocol.
|
|
33
|
-
- Added MCP connector policy across design, deploy, package, data, browser, and AI providers.
|
|
34
|
-
- Expanded package verification to enforce the new governance files.
|
|
26
|
+
- Replaced the generic `protocols/memory.md` with a concrete operational memory contract.
|
|
27
|
+
- Added `templates/operational-memory.md`.
|
|
28
|
+
- Registered the memory template in `manifest.json`.
|
|
29
|
+
- Linked operational memory from README, ecosystem README, and INDEX.
|
|
30
|
+
- Added verifier checks for memory levels, approval language, storage path, sensitive-data exclusions, and required template fields.
|
|
35
31
|
|
|
36
32
|
## Why It Matters
|
|
37
33
|
|
|
38
|
-
Sagaz now
|
|
34
|
+
Sagaz can now carry stable preferences between projects in an auditable way while still respecting the current repository, current user request, and explicit permission gates. The memory system is intentionally file-based, reviewable, and scoped.
|
|
39
35
|
|
|
40
36
|
## Compatibility
|
|
41
37
|
|
|
42
|
-
- Windows: supported
|
|
43
|
-
- macOS: supported through Codex Desktop
|
|
38
|
+
- Windows: supported through Codex Desktop.
|
|
39
|
+
- macOS: supported through Codex Desktop.
|
|
44
40
|
- Node.js: `>=22.14` remains the package minimum; Node.js 24 is preferred for new installs and CI.
|
|
45
41
|
- Codex Desktop: required.
|
|
46
|
-
- GitHub Actions: package checks run on Ubuntu, Windows, and macOS.
|
|
47
42
|
- npm package: still an installer/distribution package, not a standalone Sagaz runtime.
|
|
48
43
|
|
|
49
44
|
## Migration Notes
|
|
@@ -51,7 +46,7 @@ Sagaz now has clearer rules for how agents should choose tools, request permissi
|
|
|
51
46
|
Run:
|
|
52
47
|
|
|
53
48
|
```bash
|
|
54
|
-
npx sagaz-ai@0.3.
|
|
49
|
+
npx sagaz-ai@0.3.2 sync
|
|
55
50
|
npx sagaz-ai doctor
|
|
56
51
|
```
|
|
57
52
|
|
|
@@ -62,12 +57,12 @@ Then open a new Codex Desktop thread so Sagaz is rediscovered.
|
|
|
62
57
|
- `npm test`: passed locally on Windows.
|
|
63
58
|
- `npm run doctor`: passed locally on Windows with installed skill synchronization confirmed.
|
|
64
59
|
- `npm pack --dry-run`: passed locally on Windows after npm cache access was allowed outside the sandbox.
|
|
65
|
-
- Manual checks:
|
|
60
|
+
- Manual checks: memory protocol and template are registered in the manifest and linked from docs.
|
|
66
61
|
|
|
67
62
|
## Known Limitations
|
|
68
63
|
|
|
69
64
|
- Sagaz still intentionally skips a standalone CLI runtime; Codex Desktop remains the execution surface.
|
|
70
|
-
-
|
|
65
|
+
- Operational memory is advisory and must not override current user instructions or repository evidence.
|
|
71
66
|
- Connector behavior depends on each external MCP/app authorization and platform availability.
|
|
72
67
|
|
|
73
68
|
## Rollback Plan
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# Sagaz Adoption Guide
|
|
2
|
+
|
|
3
|
+
Use this guide when starting Sagaz in another project or onboarding a team to Sagaz inside Codex Desktop.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
This guide gives a practical first-use path for teams that want Sagaz to orchestrate product, design, implementation, verification, GitHub operations, and release readiness in an existing or new project.
|
|
8
|
+
|
|
9
|
+
It assumes Sagaz is already installed with `npx sagaz-ai install` or `npx sagaz-ai sync`.
|
|
10
|
+
|
|
11
|
+
## Requirements
|
|
12
|
+
|
|
13
|
+
- Codex Desktop on Windows or macOS.
|
|
14
|
+
- Node.js `22.14+`; Node.js 24 LTS is preferred.
|
|
15
|
+
- npm available in the terminal.
|
|
16
|
+
- Git installed when the project is version controlled.
|
|
17
|
+
- GitHub CLI (`gh`) when Sagaz should create branches, pull requests, issues, releases, or inspect checks.
|
|
18
|
+
- Project-specific tools already installed or approved for installation, such as `pnpm`, `yarn`, `bun`, Expo/EAS, Android Studio, Xcode, Supabase CLI, Firebase CLI, Vercel CLI, or test browsers.
|
|
19
|
+
|
|
20
|
+
Before starting a real project, run:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx sagaz-ai doctor
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
If the installed skill is out of sync, run:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx sagaz-ai sync
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Then open a new Codex Desktop thread so the refreshed skill is discovered.
|
|
33
|
+
|
|
34
|
+
## First Use In Another Project
|
|
35
|
+
|
|
36
|
+
1. Open the target project folder in Codex Desktop.
|
|
37
|
+
2. Start a new thread after installing or syncing Sagaz.
|
|
38
|
+
3. Invoke Sagaz with a direct goal and any known constraints.
|
|
39
|
+
4. Let Sagaz inspect the project before making changes.
|
|
40
|
+
5. Approve each major handoff, external operation, dependency install, GitHub operation, deployment, package publish, or destructive action.
|
|
41
|
+
6. Keep the final handoff and run-state artifacts inside the project when the work is meaningful or long-lived.
|
|
42
|
+
|
|
43
|
+
## Invocation Pattern
|
|
44
|
+
|
|
45
|
+
Use `Sagaz:` at the beginning of the message.
|
|
46
|
+
|
|
47
|
+
For a new product:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
Sagaz: create a production-ready web SaaS for appointment scheduling.
|
|
51
|
+
|
|
52
|
+
Requirements:
|
|
53
|
+
- user login
|
|
54
|
+
- calendar scheduling
|
|
55
|
+
- admin dashboard
|
|
56
|
+
- premium but practical UI
|
|
57
|
+
- deployment on Vercel
|
|
58
|
+
- GitHub release flow
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
For an existing project:
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
Sagaz: inspect this project and prepare a safe implementation plan before changing code.
|
|
65
|
+
|
|
66
|
+
Goal:
|
|
67
|
+
- add subscription billing
|
|
68
|
+
- preserve the current UX
|
|
69
|
+
- use the existing stack when reasonable
|
|
70
|
+
- include tests and deployment notes
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
For a bug:
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
Sagaz: diagnose and fix the production checkout failure.
|
|
77
|
+
|
|
78
|
+
Rules:
|
|
79
|
+
- identify likely root cause first
|
|
80
|
+
- make the smallest safe fix
|
|
81
|
+
- run focused tests
|
|
82
|
+
- prepare a release handoff
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
For design work with Figma MCP:
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
Sagaz: coordinate the design team using Figma MCP to create app-like mockups that can be inspected as real application flows.
|
|
89
|
+
|
|
90
|
+
Include:
|
|
91
|
+
- target users
|
|
92
|
+
- main screens
|
|
93
|
+
- component states
|
|
94
|
+
- interaction notes
|
|
95
|
+
- visual QA checklist
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Recommended First Response From Sagaz
|
|
99
|
+
|
|
100
|
+
Sagaz should respond with:
|
|
101
|
+
|
|
102
|
+
- The selected workflow.
|
|
103
|
+
- The selected squad or agents.
|
|
104
|
+
- The assumptions it is making.
|
|
105
|
+
- The files, commands, or connectors it needs to inspect.
|
|
106
|
+
- The permission level required for the next step.
|
|
107
|
+
- The expected first handoff artifact.
|
|
108
|
+
|
|
109
|
+
Sagaz should avoid starting large implementation work before it understands the project structure, stack, risks, and definition of done.
|
|
110
|
+
|
|
111
|
+
## Team Operating Model
|
|
112
|
+
|
|
113
|
+
Use this rhythm for team adoption:
|
|
114
|
+
|
|
115
|
+
1. Product confirms objective, users, constraints, and definition of done.
|
|
116
|
+
2. Technology confirms stack, architecture, dependencies, and operating costs.
|
|
117
|
+
3. Design confirms UX, UI system, accessibility, responsiveness, and visual QA expectations.
|
|
118
|
+
4. Engineering implements in small verifiable steps.
|
|
119
|
+
5. QA verifies behavior, regressions, accessibility, build, and deployment readiness.
|
|
120
|
+
6. GitHub Ops prepares commit, branch, pull request, checks, release notes, tag, and release when approved.
|
|
121
|
+
7. The final handoff records evidence, residual risk, rollback plan, and next recommended work.
|
|
122
|
+
|
|
123
|
+
## Cross-Platform Notes
|
|
124
|
+
|
|
125
|
+
Sagaz should treat Windows and macOS as first-class Codex Desktop environments.
|
|
126
|
+
|
|
127
|
+
- Prefer commands that work in the user's current shell.
|
|
128
|
+
- Use PowerShell syntax on Windows and POSIX shell syntax on macOS.
|
|
129
|
+
- Record when a command or dependency is platform-specific.
|
|
130
|
+
- Verify path examples before presenting them.
|
|
131
|
+
- Do not assume Linux-only tooling unless the project or CI requires it.
|
|
132
|
+
|
|
133
|
+
## Permission Model
|
|
134
|
+
|
|
135
|
+
Sagaz follows `protocols/permission-contract.md`.
|
|
136
|
+
|
|
137
|
+
Low-risk inspection can usually proceed directly. These actions require explicit approval:
|
|
138
|
+
|
|
139
|
+
- Installing dependencies.
|
|
140
|
+
- Writing or deleting files when implementation has not been clearly authorized.
|
|
141
|
+
- Running commands that access networked registries or external services.
|
|
142
|
+
- Creating, pushing, tagging, or releasing in GitHub.
|
|
143
|
+
- Deploying to hosting providers.
|
|
144
|
+
- Publishing packages.
|
|
145
|
+
- Handling secrets, credentials, production data, billing, or destructive operations.
|
|
146
|
+
|
|
147
|
+
## Evidence To Keep
|
|
148
|
+
|
|
149
|
+
For serious work, Sagaz should maintain or produce:
|
|
150
|
+
|
|
151
|
+
- `templates/run-state.md`
|
|
152
|
+
- `templates/execution-trace.md`
|
|
153
|
+
- `templates/implementation-plan.md`
|
|
154
|
+
- `templates/qa-report.md`
|
|
155
|
+
- `templates/final-handoff.md`
|
|
156
|
+
- `templates/future-change-guide.md`
|
|
157
|
+
- `templates/release-notes.md` when release work is involved.
|
|
158
|
+
|
|
159
|
+
## Good First Team Exercise
|
|
160
|
+
|
|
161
|
+
Use a low-risk existing repository and ask:
|
|
162
|
+
|
|
163
|
+
```text
|
|
164
|
+
Sagaz: audit this project and tell me what workflow, stack playbook, risks, tests, and next implementation step you recommend. Do not change files yet.
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
This verifies that the team understands Sagaz handoffs, permission gates, stack reasoning, and evidence before using it on production work.
|
|
168
|
+
|
|
169
|
+
## Success Criteria
|
|
170
|
+
|
|
171
|
+
Sagaz adoption is working when:
|
|
172
|
+
|
|
173
|
+
- The team can invoke Sagaz consistently in new and existing projects.
|
|
174
|
+
- Sagaz chooses workflows and stack playbooks without bloating context.
|
|
175
|
+
- The team sees clear permission prompts before risky actions.
|
|
176
|
+
- Handoffs explain what changed, what was verified, and what remains risky.
|
|
177
|
+
- GitHub, design, deployment, and package operations happen only after approval.
|
|
178
|
+
- Windows and macOS users can follow the same operating model with platform-appropriate commands.
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
## Quick Entry
|
|
4
4
|
|
|
5
5
|
- `ACTIVATE.md`: ready-to-use activation prompts.
|
|
6
|
+
- `ADOPTION.md`: first-use guide for adopting Sagaz in another project or team.
|
|
6
7
|
- `quickstart.md`: minimum operating rules.
|
|
7
8
|
- `README.md`: ecosystem overview.
|
|
8
9
|
- `manifest.json`: internal component registry for validation and navigation.
|
|
@@ -117,6 +118,7 @@ See `protocols/` for quality gates, testing matrix, stack selection, design qual
|
|
|
117
118
|
See `templates/` for task briefs, product specs, technical specs, design systems, future-change guides, refactor safety contracts, stack recommendations, run state, squad handoffs, QA reports, release checklists, changelogs, release notes, and final handoffs.
|
|
118
119
|
|
|
119
120
|
- `templates/execution-trace.md`
|
|
121
|
+
- `templates/operational-memory.md`
|
|
120
122
|
|
|
121
123
|
## Governance
|
|
122
124
|
|
|
@@ -127,4 +129,8 @@ See `templates/` for task briefs, product specs, technical specs, design systems
|
|
|
127
129
|
- `governance/versioning.md`
|
|
128
130
|
- `governance/ecosystem-maintenance.md`
|
|
129
131
|
- `governance/package-release-policy.md`
|
|
132
|
+
|
|
133
|
+
## Adoption
|
|
134
|
+
|
|
135
|
+
- `ADOPTION.md`
|
|
130
136
|
|
|
@@ -5,15 +5,17 @@ A local AI orchestration ecosystem for Codex, focused on autonomous teams, consi
|
|
|
5
5
|
## How To Use
|
|
6
6
|
|
|
7
7
|
1. Read `governance/operations-runbook.md` for the daily operating procedure.
|
|
8
|
-
2. Read `
|
|
9
|
-
3.
|
|
10
|
-
4.
|
|
11
|
-
5.
|
|
12
|
-
6.
|
|
8
|
+
2. Read `ADOPTION.md` when starting Sagaz in another project or onboarding a team.
|
|
9
|
+
3. Read `quickstart.md`.
|
|
10
|
+
4. Choose the smallest sufficient workflow or squad.
|
|
11
|
+
5. Use formal tasks, handoffs, and quality gates.
|
|
12
|
+
6. Create or update run state for medium/large work.
|
|
13
|
+
7. Verify before declaring done.
|
|
13
14
|
|
|
14
15
|
## Structure
|
|
15
16
|
|
|
16
17
|
- `manifest.json`: internal component registry used to validate and navigate the ecosystem.
|
|
18
|
+
- `ADOPTION.md`: first-use guide for adopting Sagaz in another project or team.
|
|
17
19
|
- `workflows/`: named end-to-end flows.
|
|
18
20
|
- `squads/`: specialized teams.
|
|
19
21
|
- `agents/`: role definitions.
|
|
@@ -45,6 +47,8 @@ Use `protocols/agent-observability.md` and `templates/execution-trace.md` for mu
|
|
|
45
47
|
|
|
46
48
|
Use `protocols/mcp-connector-policy.md` before using MCPs or external connectors such as Figma, GitHub, Canva, Browser, Vercel, Supabase, Firebase, npm, or observability tools.
|
|
47
49
|
|
|
50
|
+
Use `protocols/memory.md` and `templates/operational-memory.md` before creating durable project or team preferences for future Sagaz runs.
|
|
51
|
+
|
|
48
52
|
## Advanced Engineering Coverage
|
|
49
53
|
|
|
50
54
|
Sagaz includes protocols for SRE readiness, DORA metrics, secure SDLC, dependency governance, data privacy lifecycle, architecture fitness functions, API contracts, performance budgets, accessibility compliance, database migrations, release strategy, and AI application quality.
|
|
@@ -122,6 +122,7 @@
|
|
|
122
122
|
"templates/implementation-plan.md",
|
|
123
123
|
"templates/execution-trace.md",
|
|
124
124
|
"templates/mobile-release-checklist.md",
|
|
125
|
+
"templates/operational-memory.md",
|
|
125
126
|
"templates/product-spec.md",
|
|
126
127
|
"templates/qa-report.md",
|
|
127
128
|
"templates/refactor-safety-contract.md",
|
|
@@ -165,6 +166,7 @@
|
|
|
165
166
|
],
|
|
166
167
|
"docs": [
|
|
167
168
|
"ACTIVATE.md",
|
|
169
|
+
"ADOPTION.md",
|
|
168
170
|
"INDEX.md",
|
|
169
171
|
"README.md",
|
|
170
172
|
"quickstart.md"
|
|
@@ -1,32 +1,148 @@
|
|
|
1
|
-
|
|
1
|
+
# Protocol: Operational Memory
|
|
2
2
|
|
|
3
3
|
## Objective
|
|
4
4
|
|
|
5
|
-
Define how Sagaz
|
|
5
|
+
Define how Sagaz records recurring user, team, stack, delivery, and quality preferences across projects without storing secrets, private data, or unverified assumptions as durable memory.
|
|
6
|
+
|
|
7
|
+
Operational memory is a lightweight project or team artifact. It is not a hidden database, not a substitute for current project inspection, and not permission to act without approval.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
Use this protocol for preferences that are stable enough to help future Sagaz runs, such as:
|
|
12
|
+
|
|
13
|
+
- Preferred stack defaults.
|
|
14
|
+
- Design and UX expectations.
|
|
15
|
+
- Testing and verification habits.
|
|
16
|
+
- GitHub, branch, commit, pull request, and release preferences.
|
|
17
|
+
- Deployment and hosting preferences.
|
|
18
|
+
- Communication and handoff style.
|
|
19
|
+
- Team-specific stop conditions.
|
|
20
|
+
- Recurring constraints for Windows, macOS, or Codex Desktop.
|
|
21
|
+
|
|
22
|
+
Do not use operational memory for:
|
|
23
|
+
|
|
24
|
+
- Secrets, tokens, passwords, keys, credentials, or session data.
|
|
25
|
+
- Personal sensitive data.
|
|
26
|
+
- Production data.
|
|
27
|
+
- Legal, financial, medical, or employment decisions.
|
|
28
|
+
- Temporary guesses that were not confirmed by the user.
|
|
29
|
+
- Instructions that conflict with the current user request, repository state, or `protocols/permission-contract.md`.
|
|
30
|
+
|
|
31
|
+
## Memory Levels
|
|
32
|
+
|
|
33
|
+
- `M0 ephemeral`: context useful only inside the current response or tool step.
|
|
34
|
+
- `M1 thread`: context useful for the current Codex Desktop thread.
|
|
35
|
+
- `M2 project`: preferences useful for the current repository or workspace.
|
|
36
|
+
- `M3 team`: preferences the user explicitly wants Sagaz to remember across projects.
|
|
37
|
+
|
|
38
|
+
Sagaz may infer M0 and M1 from the current conversation. M2 and M3 require explicit user approval before being written or updated.
|
|
6
39
|
|
|
7
40
|
## Required Practice
|
|
8
41
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
42
|
+
1. Inspect current project state before applying memory to a concrete task.
|
|
43
|
+
2. Treat memory as advisory, not authoritative.
|
|
44
|
+
3. Prefer current user instructions over stored preferences.
|
|
45
|
+
4. Ask before creating or updating M2 or M3 memory.
|
|
46
|
+
5. Record source, date, owner, confidence, scope, and expiry for each durable entry.
|
|
47
|
+
6. Keep memory compact and easy to audit.
|
|
48
|
+
7. Reconfirm stale or risky preferences before using them.
|
|
49
|
+
8. Use `templates/operational-memory.md` for durable M2 or M3 entries.
|
|
50
|
+
9. Reference `protocols/permission-contract.md` before any action that changes local state, remote state, deployments, packages, billing, credentials, or GitHub history.
|
|
51
|
+
10. Reference `protocols/agent-observability.md` when memory affects a multi-phase or high-risk workflow.
|
|
14
52
|
|
|
15
|
-
##
|
|
53
|
+
## Approval Rules
|
|
54
|
+
|
|
55
|
+
Sagaz must ask explicit approval before:
|
|
56
|
+
|
|
57
|
+
- Creating a project memory file.
|
|
58
|
+
- Adding a new durable preference.
|
|
59
|
+
- Promoting a thread preference to project or team memory.
|
|
60
|
+
- Applying a stored preference that affects architecture, cost, security, data, deployment, release, or public output.
|
|
61
|
+
- Removing, renaming, or changing the meaning of an existing durable preference.
|
|
62
|
+
|
|
63
|
+
Approval prompt format:
|
|
16
64
|
|
|
17
65
|
```md
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
66
|
+
Memory update proposed:
|
|
67
|
+
Scope:
|
|
68
|
+
Preference:
|
|
69
|
+
Source:
|
|
70
|
+
Why it helps:
|
|
22
71
|
Risk:
|
|
23
|
-
|
|
72
|
+
Expiry or review date:
|
|
73
|
+
Approval needed:
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Storage Convention
|
|
77
|
+
|
|
78
|
+
Preferred project-local path:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
.sagaz/operational-memory.md
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
If the project should not store Sagaz artifacts, use a user-approved location and record that location in the handoff.
|
|
85
|
+
|
|
86
|
+
Do not create hidden memory outside the workspace without explicit user approval.
|
|
87
|
+
|
|
88
|
+
## Entry Format
|
|
89
|
+
|
|
90
|
+
Each durable memory entry must include:
|
|
91
|
+
|
|
92
|
+
```md
|
|
93
|
+
Preference ID:
|
|
94
|
+
Scope: M2 project | M3 team
|
|
95
|
+
Status: active | proposed | deprecated
|
|
96
|
+
Owner:
|
|
97
|
+
Source:
|
|
98
|
+
Created:
|
|
99
|
+
Last reviewed:
|
|
100
|
+
Review by:
|
|
101
|
+
Confidence: low | medium | high
|
|
102
|
+
Preference:
|
|
103
|
+
Applies when:
|
|
104
|
+
Do not apply when:
|
|
105
|
+
Permission impact:
|
|
106
|
+
Evidence:
|
|
24
107
|
```
|
|
108
|
+
|
|
109
|
+
## Conflict Handling
|
|
110
|
+
|
|
111
|
+
When memory conflicts with a current instruction or repository evidence:
|
|
112
|
+
|
|
113
|
+
1. Follow the current user instruction when it is safe and clear.
|
|
114
|
+
2. Explain the conflict briefly.
|
|
115
|
+
3. Ask before updating or deprecating the memory entry.
|
|
116
|
+
4. Record the decision in run state or execution trace when the task is meaningful.
|
|
117
|
+
|
|
118
|
+
## Review And Expiry
|
|
119
|
+
|
|
120
|
+
Use review dates to prevent stale preferences from becoming invisible defaults.
|
|
121
|
+
|
|
122
|
+
- M2 project memory should be reviewed after major stack, deployment, or team changes.
|
|
123
|
+
- M3 team memory should be reviewed at least every 90 days or before a major release.
|
|
124
|
+
- Any memory involving cost, security, compliance, deployment, or public communication should be reconfirmed before use when stale.
|
|
125
|
+
|
|
25
126
|
## Blocking Conditions
|
|
26
127
|
|
|
27
|
-
- The
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
128
|
+
- The user has not approved durable memory creation or update.
|
|
129
|
+
- The proposed memory includes secrets or sensitive data.
|
|
130
|
+
- The memory conflicts with `protocols/permission-contract.md`.
|
|
131
|
+
- The current repository state contradicts the stored preference and the conflict is not resolved.
|
|
132
|
+
- The memory would cause unapproved external operations, publishing, deployment, billing, or destructive changes.
|
|
133
|
+
- The memory entry lacks source, scope, or review date.
|
|
134
|
+
|
|
135
|
+
## Output
|
|
136
|
+
|
|
137
|
+
When using operational memory, Sagaz should say:
|
|
138
|
+
|
|
139
|
+
```md
|
|
140
|
+
Memory used:
|
|
141
|
+
Scope:
|
|
142
|
+
Source:
|
|
143
|
+
Applied to:
|
|
144
|
+
Confidence:
|
|
145
|
+
Permission impact:
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
When proposing a memory update, Sagaz should ask for approval using the approval prompt format and wait for the user before writing durable memory.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Operational Memory
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
project:
|
|
7
|
+
owner:
|
|
8
|
+
scope: M2 project
|
|
9
|
+
created:
|
|
10
|
+
last_reviewed:
|
|
11
|
+
review_by:
|
|
12
|
+
storage_location:
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Operating Rules
|
|
16
|
+
|
|
17
|
+
- Use this file only with `protocols/memory.md`.
|
|
18
|
+
- Do not store secrets, tokens, passwords, keys, credentials, session data, production data, or sensitive personal data.
|
|
19
|
+
- Current user instructions and current repository state override stored preferences.
|
|
20
|
+
- Reconfirm stale, risky, or high-impact preferences before use.
|
|
21
|
+
|
|
22
|
+
## Preferences
|
|
23
|
+
|
|
24
|
+
| Preference ID | Scope | Status | Owner | Source | Created | Last reviewed | Review by | Confidence |
|
|
25
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
26
|
+
| MEM-001 | M2 project | proposed | | | | | | medium |
|
|
27
|
+
|
|
28
|
+
## Preference Details
|
|
29
|
+
|
|
30
|
+
### MEM-001
|
|
31
|
+
|
|
32
|
+
Preference:
|
|
33
|
+
|
|
34
|
+
Applies when:
|
|
35
|
+
|
|
36
|
+
Do not apply when:
|
|
37
|
+
|
|
38
|
+
Permission impact:
|
|
39
|
+
|
|
40
|
+
Evidence:
|
|
41
|
+
|
|
42
|
+
Notes:
|
|
43
|
+
|
|
44
|
+
## Deprecated Preferences
|
|
45
|
+
|
|
46
|
+
Move old preferences here instead of deleting them when history is useful.
|
|
47
|
+
|
|
48
|
+
| Preference ID | Deprecated on | Reason | Replacement |
|
|
49
|
+
| --- | --- | --- | --- |
|
package/package.json
CHANGED
|
@@ -203,7 +203,7 @@ function validateManifest() {
|
|
|
203
203
|
|
|
204
204
|
const baseDirectory = path.join(ecosystemRoot, directory);
|
|
205
205
|
const actual = directory === "."
|
|
206
|
-
? ["ACTIVATE.md", "INDEX.md", "README.md", "quickstart.md"]
|
|
206
|
+
? ["ACTIVATE.md", "ADOPTION.md", "INDEX.md", "README.md", "quickstart.md"]
|
|
207
207
|
: walkMarkdown(baseDirectory).map((markdownFile) => path.relative(ecosystemRoot, markdownFile).split(path.sep).join("/"));
|
|
208
208
|
const expected = new Set(actual);
|
|
209
209
|
const declared = new Set(entries);
|
|
@@ -813,6 +813,85 @@ function validateMcpConnectorPolicy() {
|
|
|
813
813
|
}
|
|
814
814
|
}
|
|
815
815
|
|
|
816
|
+
function validateOperationalMemoryProtocol() {
|
|
817
|
+
const file = path.join(ecosystemRoot, "protocols", "memory.md");
|
|
818
|
+
if (!fs.existsSync(file)) {
|
|
819
|
+
fail(file, "operational memory protocol is missing");
|
|
820
|
+
return;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
const text = readText(file);
|
|
824
|
+
const present = headings(text);
|
|
825
|
+
for (const section of [
|
|
826
|
+
"Objective",
|
|
827
|
+
"Scope",
|
|
828
|
+
"Memory Levels",
|
|
829
|
+
"Required Practice",
|
|
830
|
+
"Approval Rules",
|
|
831
|
+
"Storage Convention",
|
|
832
|
+
"Entry Format",
|
|
833
|
+
"Conflict Handling",
|
|
834
|
+
"Review And Expiry",
|
|
835
|
+
"Blocking Conditions",
|
|
836
|
+
"Output"
|
|
837
|
+
]) {
|
|
838
|
+
if (!present.has(section)) {
|
|
839
|
+
fail(file, `missing section "${section}"`);
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
for (const term of [
|
|
844
|
+
"templates/operational-memory.md",
|
|
845
|
+
"protocols/permission-contract.md",
|
|
846
|
+
"protocols/agent-observability.md",
|
|
847
|
+
".sagaz/operational-memory.md",
|
|
848
|
+
"M0 ephemeral",
|
|
849
|
+
"M1 thread",
|
|
850
|
+
"M2 project",
|
|
851
|
+
"M3 team",
|
|
852
|
+
"secrets",
|
|
853
|
+
"sensitive data",
|
|
854
|
+
"explicit user approval",
|
|
855
|
+
"Approval needed:",
|
|
856
|
+
"Review by:",
|
|
857
|
+
"Permission impact:"
|
|
858
|
+
]) {
|
|
859
|
+
if (!text.includes(term)) {
|
|
860
|
+
fail(file, `operational memory protocol must mention "${term}"`);
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
function validateOperationalMemoryTemplate() {
|
|
866
|
+
const file = path.join(ecosystemRoot, "templates", "operational-memory.md");
|
|
867
|
+
if (!fs.existsSync(file)) {
|
|
868
|
+
fail(file, "operational memory template is missing");
|
|
869
|
+
return;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
const text = readText(file);
|
|
873
|
+
const present = headings(text);
|
|
874
|
+
for (const section of ["Metadata", "Operating Rules", "Preferences", "Preference Details", "Deprecated Preferences"]) {
|
|
875
|
+
if (!present.has(section)) {
|
|
876
|
+
fail(file, `missing section "${section}"`);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
for (const term of [
|
|
881
|
+
"protocols/memory.md",
|
|
882
|
+
"Do not store secrets",
|
|
883
|
+
"Current user instructions",
|
|
884
|
+
"Preference ID",
|
|
885
|
+
"Permission impact",
|
|
886
|
+
"Evidence",
|
|
887
|
+
"Review by"
|
|
888
|
+
]) {
|
|
889
|
+
if (!text.includes(term)) {
|
|
890
|
+
fail(file, `operational memory template must mention "${term}"`);
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
|
|
816
895
|
function validateDurableRunStateProtocol() {
|
|
817
896
|
const file = path.join(ecosystemRoot, "protocols", "durable-run-state.md");
|
|
818
897
|
if (!fs.existsSync(file)) {
|
|
@@ -1561,6 +1640,8 @@ validateExecutionTraceTemplate();
|
|
|
1561
1640
|
validateDurableRunStateProtocol();
|
|
1562
1641
|
validateAgentObservabilityProtocol();
|
|
1563
1642
|
validateMcpConnectorPolicy();
|
|
1643
|
+
validateOperationalMemoryProtocol();
|
|
1644
|
+
validateOperationalMemoryTemplate();
|
|
1564
1645
|
validateComponentGovernanceProtocol();
|
|
1565
1646
|
validateEvaluationSuite();
|
|
1566
1647
|
validateReleaseVersioningGate();
|