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 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.0
5
+ Version: 0.3.2
6
6
  Date: 2026-06-11
7
- Release type: Minor
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.0 completes the main non-CLI governance layer for Codex Desktop orchestration. It adds operational runbooks, complete scenario examples, a capabilities matrix, formal permission policy, stack playbooks, execution trace evidence, and MCP connector governance.
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: clearer operating model, examples, stack guidance, and permission expectations before using Sagaz.
20
- - Existing users: should refresh the installed skill with `npx sagaz-ai sync`.
21
- - Maintainers: stronger package checks now catch stack playbook, observability, permission, and connector-policy drift.
22
- - Design team: Figma MCP usage is governed as a formal connector workflow for app-like mockups and design artifacts.
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
- - Added an operations runbook for everyday Sagaz use.
28
- - Added complete examples for common delivery scenarios.
29
- - Added a capabilities matrix against other orchestration ecosystems.
30
- - Added a formal permission contract for Windows and macOS Codex Desktop usage.
31
- - Added stack-specific playbooks.
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 has clearer rules for how agents should choose tools, request permission, preserve workflow state, hand off work, verify stack-specific outcomes, and operate MCP connectors without drifting into ad hoc behavior.
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 and locally verified from a Codex Desktop workspace.
43
- - macOS: supported through Codex Desktop and GitHub Actions runner validation.
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.0 sync
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: Git status reviewed before release preparation.
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
- - GitHub release and npm publishing remain explicit approval steps.
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 `quickstart.md`.
9
- 3. Choose the smallest sufficient workflow or squad.
10
- 4. Use formal tasks, handoffs, and quality gates.
11
- 5. Create or update run state for medium/large work.
12
- 6. Verify before declaring done.
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
- # Protocol: Memory
1
+ # Protocol: Operational Memory
2
2
 
3
3
  ## Objective
4
4
 
5
- Define how Sagaz should handle Memory while keeping the process clear, low-token, safe, and verifiable.
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
- - Start from the user goal and current project state.
10
- - Load only relevant context.
11
- - Separate facts, assumptions, inferences, risks, and decisions.
12
- - Ask permission before meaningful state changes.
13
- - Record evidence and residual risk.
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
- ## Standard Recommendation Format
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
- Recommendation:
19
- Why now:
20
- What changes:
21
- Benefit:
66
+ Memory update proposed:
67
+ Scope:
68
+ Preference:
69
+ Source:
70
+ Why it helps:
22
71
  Risk:
23
- Permission required:
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 primary flow fails.
28
- - A relevant build, check, or test fails without explanation.
29
- - Secrets or sensitive data would be exposed.
30
- - A high risk is not accepted by the user.
31
- - Verification evidence is missing for the risk level.
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sagaz-ai",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Sagaz AI orchestration ecosystem installer for Codex Desktop.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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();