logics-manager 2.0.0__tar.gz
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.
- logics_manager-2.0.0/LICENSE +21 -0
- logics_manager-2.0.0/PKG-INFO +7 -0
- logics_manager-2.0.0/README.md +446 -0
- logics_manager-2.0.0/logics_manager/__init__.py +5 -0
- logics_manager-2.0.0/logics_manager/__main__.py +9 -0
- logics_manager-2.0.0/logics_manager/assist.py +2211 -0
- logics_manager-2.0.0/logics_manager/audit.py +990 -0
- logics_manager-2.0.0/logics_manager/bootstrap.py +123 -0
- logics_manager-2.0.0/logics_manager/cli.py +183 -0
- logics_manager-2.0.0/logics_manager/config.py +251 -0
- logics_manager-2.0.0/logics_manager/doctor.py +127 -0
- logics_manager-2.0.0/logics_manager/flow.py +1449 -0
- logics_manager-2.0.0/logics_manager/index.py +142 -0
- logics_manager-2.0.0/logics_manager/lint.py +622 -0
- logics_manager-2.0.0/logics_manager/sync.py +604 -0
- logics_manager-2.0.0/logics_manager.egg-info/PKG-INFO +7 -0
- logics_manager-2.0.0/logics_manager.egg-info/SOURCES.txt +20 -0
- logics_manager-2.0.0/logics_manager.egg-info/dependency_links.txt +1 -0
- logics_manager-2.0.0/logics_manager.egg-info/entry_points.txt +2 -0
- logics_manager-2.0.0/logics_manager.egg-info/top_level.txt +1 -0
- logics_manager-2.0.0/pyproject.toml +15 -0
- logics_manager-2.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AGOSTINI Alexandre
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
# logics-manager
|
|
2
|
+
|
|
3
|
+
[](https://github.com/AlexAgo83/logics-manager/actions/workflows/ci.yml)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
Turn your `logics/*` Markdown corpus into a real delivery cockpit inside VS Code, backed by the canonical `logics-manager` runtime.
|
|
11
|
+
|
|
12
|
+
`logics-manager` gives you a visual orchestration layer for the Logics workflow
|
|
13
|
+
(`requests -> backlog -> tasks -> specs`) without moving the source of truth out of the repository.
|
|
14
|
+
|
|
15
|
+
Version `2.0.0` marks the point where the extension, npm bin, Python package, generated assistant instructions, and runtime-facing docs all converge on the same product surface: `logics-manager`.
|
|
16
|
+
|
|
17
|
+
This is more than a workflow panel. It turns project context into a durable, inspectable memory that AI assistants can reuse across sessions, so teams spend less time re-explaining history, waste fewer tokens, and keep delivery conversations grounded in the same artifacts.
|
|
18
|
+
|
|
19
|
+
## Logics Runtime and CLI
|
|
20
|
+
|
|
21
|
+
`logics-manager` is the canonical CLI surface for the Logics runtime. The VS Code extension uses the bundled Python runtime for local workflow operations and packaging checks.
|
|
22
|
+
|
|
23
|
+
Install it locally with `pip`:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
python3.11 -m pip install .
|
|
27
|
+
logics-manager --help
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The repository also exposes a `logics-manager` npm bin when installed through npm, which delegates to the same Python CLI.
|
|
31
|
+
|
|
32
|
+
For the editor client, build and install the VSIX:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm run package
|
|
36
|
+
npm run install:vsix
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The bundled runtime is the normal path. Transitional repair flows remain available for older repositories when needed, but they are not part of normal setup.
|
|
40
|
+
|
|
41
|
+
## Features
|
|
42
|
+
|
|
43
|
+
- Turn `logics/*` Markdown into a delivery cockpit inside VS Code.
|
|
44
|
+
- Keep requests, backlog items, tasks, and specs connected in one workspace.
|
|
45
|
+
- Preview Logics docs with clickable references, Mermaid rendering, and cleaner read views.
|
|
46
|
+
- Move from triage to execution with board, list, search, and recent-activity views that stay aligned.
|
|
47
|
+
- See richer card metadata and hover previews, including Theme, while the compact-list toggle stays hidden when forced.
|
|
48
|
+
- Explore Logics Insights with day/week timelines plus WIP, Blocked, Stale, Status, Theme, Understanding, Confidence, and backlog-coverage sections.
|
|
49
|
+
- Keep the extension on a tighter quality bar with ESLint, stronger coverage checks, and CI validation.
|
|
50
|
+
- Create, promote, bootstrap, and review workflow items without leaving the editor.
|
|
51
|
+
- Reuse shared project context for faster AI handoffs and lower-token sessions.
|
|
52
|
+
- Prepare releases and keep workflow docs synchronized from the same toolchain.
|
|
53
|
+
|
|
54
|
+
For more detailed workflow behavior, see the sections below on requirements, runtime compatibility, commands, and tools.
|
|
55
|
+
|
|
56
|
+
## Why This Matters For AI Projects
|
|
57
|
+
|
|
58
|
+
- AI sessions become cheaper because the project memory already exists in the repo instead of living only in previous chats.
|
|
59
|
+
- Requests, backlog items, tasks, specs, and links become reusable context blocks that survive model changes, thread resets, and handoffs between assistants.
|
|
60
|
+
- The plugin makes that memory operational: you can inspect it, navigate it, and inject a smaller assistant handoff directly from the active item.
|
|
61
|
+
- That usually means lower token consumption, less context-window waste, and fewer regressions caused by missing earlier decisions.
|
|
62
|
+
- Because the memory is plain Markdown in git, it stays reviewable by humans, diffable in pull requests, and portable across tools.
|
|
63
|
+
|
|
64
|
+
## Onboarding Prompts
|
|
65
|
+
|
|
66
|
+
Use these as quick starting points when you want the plugin or the shared Logics flow to help frame work before execution.
|
|
67
|
+
|
|
68
|
+
### (1) Need
|
|
69
|
+
|
|
70
|
+
> Start a new request for this problem: `<describe the need or pain point>`
|
|
71
|
+
>
|
|
72
|
+
> Ask me any clarifying questions that would make the request stronger. Suggest helpful options if I need guidance.
|
|
73
|
+
|
|
74
|
+
### (2) Framing
|
|
75
|
+
|
|
76
|
+
> Generate backlog items for the new requests and split them into separate delivery slices.
|
|
77
|
+
>
|
|
78
|
+
> Ask me any questions that would increase your confidence or improve your understanding before you finalize the backlog.
|
|
79
|
+
|
|
80
|
+
### (3) Orchestration Tasks
|
|
81
|
+
|
|
82
|
+
> Create the orchestration tasks needed to execute the backlog slices, one bounded task per coherent delivery wave.
|
|
83
|
+
>
|
|
84
|
+
> If the slice is still broad, propose a split before you draft the tasks and ask any questions that would reduce ambiguity.
|
|
85
|
+
|
|
86
|
+
### (4) Execution
|
|
87
|
+
|
|
88
|
+
> Execute task `<task id or title>`. Commit after each wave, keep going until the work is done, and do not stop early.
|
|
89
|
+
>
|
|
90
|
+
> If you need to make assumptions, state them briefly and keep the task moving.
|
|
91
|
+
|
|
92
|
+
### What the docs are for
|
|
93
|
+
|
|
94
|
+
- If you think "here is the problem and context..." -> request
|
|
95
|
+
- If you think "this needs a scoped delivery slice..." -> item
|
|
96
|
+
- If you think "we want..." -> product brief
|
|
97
|
+
- If you think "we decided..." -> ADR
|
|
98
|
+
- If you think "the system should..." -> spec
|
|
99
|
+
- If you think "let's do..." -> task
|
|
100
|
+
|
|
101
|
+
<table>
|
|
102
|
+
<tr>
|
|
103
|
+
<td align="center">
|
|
104
|
+
<img width="100%" alt="Board panel" src="https://i.postimg.cc/g05Bf1j7/board_panel.png" />
|
|
105
|
+
<br />
|
|
106
|
+
<sub><strong>Board panel</strong></sub>
|
|
107
|
+
</td>
|
|
108
|
+
<td align="center">
|
|
109
|
+
<img width="100%" alt="Filter panel" src="https://i.postimg.cc/CKt6W956/filter-panel.png" />
|
|
110
|
+
<br />
|
|
111
|
+
<sub><strong>Filter panel</strong></sub>
|
|
112
|
+
</td>
|
|
113
|
+
<td align="center">
|
|
114
|
+
<img width="100%" alt="List panel" src="https://i.postimg.cc/YSVyJT0D/list_panel.png" />
|
|
115
|
+
<br />
|
|
116
|
+
<sub><strong>List panel</strong></sub>
|
|
117
|
+
</td>
|
|
118
|
+
</tr>
|
|
119
|
+
</table>
|
|
120
|
+
|
|
121
|
+
## Requirements
|
|
122
|
+
|
|
123
|
+
- To use the extension:
|
|
124
|
+
- A workspace folder open in VS Code.
|
|
125
|
+
- Git on PATH for workspace and repository repair flows.
|
|
126
|
+
- `logics/` is bootstrapped automatically when needed.
|
|
127
|
+
- The normal path uses the bundled runtime and `logics-manager`.
|
|
128
|
+
- Python 3 on PATH for script-backed workflow actions. The extension accepts `python3`, `python`, `py -3`, or `py`.
|
|
129
|
+
- To build, package, or test the extension locally:
|
|
130
|
+
- Node.js + npm.
|
|
131
|
+
- Optional CLI tooling:
|
|
132
|
+
- VS Code CLI `code` on PATH for terminal-based VSIX install or `npm run dev`.
|
|
133
|
+
|
|
134
|
+
Windows notes:
|
|
135
|
+
- You do not need the `code` CLI for normal extension usage inside VS Code.
|
|
136
|
+
- If Python is installed through the Windows launcher, `py -3` is supported by the extension.
|
|
137
|
+
- Repository-managed text files are normalized through [`.gitattributes`](.gitattributes); let Git handle `CRLF`/`LF` conversion instead of rewriting line endings manually.
|
|
138
|
+
|
|
139
|
+
## Runtime Compatibility
|
|
140
|
+
|
|
141
|
+
- Canonical CLI and runtime contract: `logics-manager`
|
|
142
|
+
- The bundled runtime is the supported steady-state path for the extension.
|
|
143
|
+
- If the bundled runtime is missing or incompatible, create/promote actions fail with explicit error messaging in the extension.
|
|
144
|
+
|
|
145
|
+
### Runtime smoke checklist
|
|
146
|
+
|
|
147
|
+
- Create a request from UI (`New Request`) and confirm markdown is generated.
|
|
148
|
+
- Create a fixture request with `logics-manager flow new request --title "Smoke test"` and confirm the compact synthetic request shape is generated.
|
|
149
|
+
- Create a backlog item and a task from the UI and confirm markdown is generated.
|
|
150
|
+
- Open `Read` on a Mermaid-bearing doc and confirm the graph is rendered.
|
|
151
|
+
- Promote request -> backlog and confirm links are updated.
|
|
152
|
+
- Confirm request/backlog/task generation fails fast if a Mermaid signature or traceability block is stale instead of waiting for audit to find it later.
|
|
153
|
+
- Promote backlog -> task and confirm task document is generated.
|
|
154
|
+
- Refresh board/details and confirm data remains consistent.
|
|
155
|
+
|
|
156
|
+
## Installation
|
|
157
|
+
|
|
158
|
+
### Install from Marketplace
|
|
159
|
+
|
|
160
|
+
https://marketplace.visualstudio.com/items?itemName=cdx-logics.logics-manager
|
|
161
|
+
|
|
162
|
+
### Install from VSIX (recommended for users)
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
code --install-extension logics-manager-<version>.vsix --force
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
If you don't have the `code` CLI on PATH:
|
|
169
|
+
- Windows: either use the VS Code installer option that adds `code` to PATH, or install the `.vsix` from the VS Code UI via **Extensions -> ... -> Install from VSIX...**.
|
|
170
|
+
- macOS/Linux: you can enable it from **Command Palette -> Shell Command: Install 'code' command in PATH**.
|
|
171
|
+
|
|
172
|
+
### Install from source (dev)
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
npm install
|
|
176
|
+
npm run compile
|
|
177
|
+
npm run test
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Run the extension:
|
|
181
|
+
- In VS Code: **Run -> Start Debugging** (F5)
|
|
182
|
+
- The Extension Development Host opens.
|
|
183
|
+
- Open the **Logics** panel at the bottom -> **Orchestrator**.
|
|
184
|
+
|
|
185
|
+
If you prefer the terminal helper:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
npm run dev
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
`npm run dev` requires the `code` CLI on PATH, so the F5 path above remains the safest cross-platform dev entrypoint.
|
|
192
|
+
|
|
193
|
+
## Deploy / Release (VSIX)
|
|
194
|
+
|
|
195
|
+
1. Bump the version in `package.json`, `pyproject.toml`, and root `VERSION` when preparing a release manually.
|
|
196
|
+
2. Curate the matching changelog entry in `changelogs/CHANGELOGS_X_Y_Z.md`.
|
|
197
|
+
3. Validate that the changelog matches the current package version:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
npm run release:changelog:validate
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
4. Build and package:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
npm run package
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
This creates `logics-manager-<version>.vsix` in the repo root.
|
|
210
|
+
|
|
211
|
+
5. Smoke-test the package locally:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
npm run install:vsix
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
6. Distribute the `.vsix` and use the curated file in `changelogs/` for the GitHub release body when publishing.
|
|
218
|
+
|
|
219
|
+
For `2.0.0` and later, the curated changelog should summarize both user-visible changes and contract-level migrations such as runtime-surface consolidation, release workflow updates, or assistant-facing API removals.
|
|
220
|
+
|
|
221
|
+
If the current plugin version is already published, `logics-manager assist next-step` can now propose the next release step instead of stalling on an already-live tag.
|
|
222
|
+
|
|
223
|
+
## Curated Changelogs
|
|
224
|
+
|
|
225
|
+
Versioned release notes for the main extension live in [`changelogs/`](changelogs).
|
|
226
|
+
|
|
227
|
+
Contract:
|
|
228
|
+
- filename pattern: `CHANGELOGS_X_Y_Z.md`
|
|
229
|
+
- version source of truth: root `package.json`
|
|
230
|
+
- helper: `npm run release:changelog:resolve`
|
|
231
|
+
- validation: `npm run release:changelog:validate` fails when the curated changelog for the current package version is missing
|
|
232
|
+
|
|
233
|
+
## Commands
|
|
234
|
+
|
|
235
|
+
- `Logics: Refresh`
|
|
236
|
+
- `Logics: Refresh Agents`
|
|
237
|
+
- `Logics: Select Agent`
|
|
238
|
+
- `Logics: Open Item`
|
|
239
|
+
- `Logics: Promote Item`
|
|
240
|
+
- `Logics: New Request`
|
|
241
|
+
- `Logics: Create Companion Doc`
|
|
242
|
+
- `Logics: Check Environment`
|
|
243
|
+
- `Logics: Open Hybrid Insights`
|
|
244
|
+
- `Logics: Open Logics Insights`
|
|
245
|
+
- `Logics: Triage Item`
|
|
246
|
+
- `Logics: Assess Diff Risk`
|
|
247
|
+
- `Logics: Build Validation Checklist`
|
|
248
|
+
- `Logics: Review Doc Consistency`
|
|
249
|
+
|
|
250
|
+
## Tools Menu
|
|
251
|
+
|
|
252
|
+
- The Tools menu is split into `Workflow` and `System` views, with a `Recommended` section surfaced first for common day-to-day actions.
|
|
253
|
+
- `Select Agent` picks the active Logics agent and prepares assistant chat context.
|
|
254
|
+
- `Getting Started` opens the onboarding guide inside the extension.
|
|
255
|
+
- `Companion Doc` creates a linked product brief or ADR from the current workflow context when the runtime supports it.
|
|
256
|
+
- `New Request` opens a guided request-drafting flow using the request-authoring agent.
|
|
257
|
+
- `Bootstrap Logics` installs the Logics runtime into a project that is not initialized yet.
|
|
258
|
+
- `Update Logics Runtime` runs the bundled-runtime repair/update flow when Git state is safe for automation.
|
|
259
|
+
- `Publish Global Codex Runtime` publishes or repairs the shared global Logics runtime in `~/.codex` from the current bundled source when needed.
|
|
260
|
+
- `Environment` opens the same diagnostics as `Logics: Check Environment`: repository state, Python availability, Git availability, global Codex runtime health, and whether read-only, workflow, bootstrap, or terminal-Codex handoff actions are currently available.
|
|
261
|
+
- `Environment` can also surface direct remediation actions when the plugin detects a stale runtime, an incomplete bootstrap, a missing global publication, or missing environment placeholders.
|
|
262
|
+
- `Environment` now uses a clearer hierarchy with summary, recommended actions, current status, and technical details, plus hybrid assist runtime state, backend availability, degraded reasons, Claude-bridge presence, and the shared Windows-safe runtime entrypoint.
|
|
263
|
+
- `Check Environment` can be promoted into `Recommended` when the current repo state actually warrants operator attention.
|
|
264
|
+
- repo-local refresh now watches `logics/**/*`, `logics.yaml`, and supported `.claude/` bridge files; external global runtime state still requires an explicit refresh because it lives outside the workspace.
|
|
265
|
+
- `Launch Codex` starts Codex using the globally published Logics runtime when the shared runtime is healthy.
|
|
266
|
+
- `AI Runtime Status` probes the shared `logics.py flow assist runtime-status` surface and reports ready providers, flagged providers, cooldown or credential issues, and bounded backend provenance.
|
|
267
|
+
- `AI Provider Insights` opens a dedicated plugin panel backed by `logics.py flow assist roi-report`, with provider mix, execution-path breakdowns, derived rates, estimated ROI proxies, and recent audit drill-down over the shared runtime output.
|
|
268
|
+
- `Logics Insights` opens a repository-level corpus stats panel with stage counts, progress buckets, relationship hot spots, large docs, and recent updates.
|
|
269
|
+
- `Commit All Changes` asks the shared hybrid runtime for a bounded commit plan and can execute it after explicit confirmation.
|
|
270
|
+
- `Suggest Next Step` asks the shared hybrid runtime for the next bounded workflow action on a selected request, backlog item, or task.
|
|
271
|
+
- `Triage Item` classifies a selected request, backlog item, or task through the shared hybrid runtime and keeps backend provenance visible in the completion notification.
|
|
272
|
+
- `Assess Diff Risk` runs the shared `diff-risk` flow directly from the plugin so the current change surface can stay local-first when policy allows it.
|
|
273
|
+
- `Validation Summary` runs the shared hybrid runtime summary flow and returns a compact validation state without reimplementing runtime logic in the extension.
|
|
274
|
+
- `Validation Checklist` asks the shared runtime for a bounded validation checklist derived from the current diff surface.
|
|
275
|
+
- `Doc Consistency` runs the shared runtime review flow for workflow-doc consistency without moving validation semantics into the extension.
|
|
276
|
+
- `Prepare Release` checks release readiness and can run the bounded prep step that generates a missing changelog, refreshes the README version badge, syncs local version artifacts, and commits the release-prep changes.
|
|
277
|
+
- When the current version is already published, `Prepare Release` can now propose the next patch version instead of leaving the operator with a no-op.
|
|
278
|
+
- `Publish Release` checks readiness, can publish through the shared runtime flow, stays disabled with an explicit reason outside GitHub-compatible repositories, and warns when a local `release` branch exists but is behind the current branch.
|
|
279
|
+
- On load, the extension can proactively publish or upgrade the global Codex runtime from a compatible repository without requiring an explicit migration action in the normal path.
|
|
280
|
+
- Codex launch shown by the plugin now uses the standard `codex` command because the runtime no longer depends on a per-repo overlay launcher.
|
|
281
|
+
- After successful bootstrap, the extension can propose a git commit with a generated message.
|
|
282
|
+
- Bootstrap completion messaging now distinguishes repo-local runtime readiness from global Codex runtime readiness.
|
|
283
|
+
- `Change Project Root` / `Reset Project Root` control which repository root the extension operates on.
|
|
284
|
+
- `Refresh` is available from the Tools menu to keep the main toolbar focused on view/navigation controls.
|
|
285
|
+
- `Fix Logics` runs Logics doc-fix flows when available.
|
|
286
|
+
- `About` opens the project repository information.
|
|
287
|
+
|
|
288
|
+
The plugin remains a thin client over the shared runtime:
|
|
289
|
+
- shared hybrid actions call `python -m logics_manager flow assist ...`;
|
|
290
|
+
- hybrid ROI aggregation and semantics also stay in the runtime through `python -m logics_manager flow assist roi-report --format json`;
|
|
291
|
+
- the shared runtime now distinguishes deterministic helpers such as `changed-surface-summary`, `release-changelog-status`, `test-impact-summary`, and `hybrid-insights-explainer` from Ollama-first proposal flows such as `windows-compat-risk`, `review-checklist`, and `doc-link-suggestion`;
|
|
292
|
+
- backend routing, fallback semantics, payload validation, audit, and degraded-mode policy remain owned by the Logics runtime;
|
|
293
|
+
- global Codex runtime actions stay distinct from shared hybrid assist actions so the UI can support Codex, Claude-oriented bridges, and Windows-safe runtime paths without duplicating business logic in TypeScript.
|
|
294
|
+
|
|
295
|
+
## Assistant Handoffs
|
|
296
|
+
|
|
297
|
+
The plugin now builds a lighter assistant handoff directly from the selected Logics item.
|
|
298
|
+
|
|
299
|
+
- The details panel shows a `Context pack for AI assistants` summary with docs, lines, characters, approximate token cost, and a coarse budget label.
|
|
300
|
+
- `summary-only` trims the handoff to the current item, compact summary points, acceptance criteria, and response contract.
|
|
301
|
+
- `diff-first` puts relevant changed files first when the repository has recent Git changes tied to the current item.
|
|
302
|
+
- Agent-aware filtering can exclude docs that do not belong to the active agent profile.
|
|
303
|
+
- Session-hygiene hints warn when switching item, task type, workspace root, or handoff mode makes a fresh assistant session safer.
|
|
304
|
+
|
|
305
|
+
These flows are designed to reduce token waste without hiding the underlying Logics docs. The Markdown corpus in `logics/*` remains the source of truth; the plugin only shapes a smaller handoff from it.
|
|
306
|
+
|
|
307
|
+
## Global Codex Runtime Publication
|
|
308
|
+
|
|
309
|
+
The primary Codex runtime model is now a globally published Logics runtime under `~/.codex`.
|
|
310
|
+
The plugin auto-publishes or upgrades the runtime into the shared Codex home when it detects a compatible bundled source.
|
|
311
|
+
|
|
312
|
+
Examples:
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
codex
|
|
316
|
+
cat ~/.codex/logics-global-kit.json
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Runtime contract:
|
|
320
|
+
|
|
321
|
+
- Bundled runtime paths are the default.
|
|
322
|
+
- the active shared runtime is published into the main Codex home under `~/.codex/skills`.
|
|
323
|
+
- the publication manifest `~/.codex/logics-global-kit.json` records installed version, source repo, source revision, publish time, and published runtime state.
|
|
324
|
+
- the plugin can auto-upgrade the shared runtime when a newer compatible repo-local source is detected.
|
|
325
|
+
- repo-owned workflow documents under `logics/request`, `logics/backlog`, `logics/tasks`, product briefs, and ADRs stay inside the repository and are never globalized.
|
|
326
|
+
|
|
327
|
+
Plugin remediation path:
|
|
328
|
+
|
|
329
|
+
- if the global runtime is missing or stale, opening a compatible repository can auto-publish it without a separate migration action in the normal path.
|
|
330
|
+
- if publication is unavailable or broken, the plugin exposes direct diagnostics and repair actions through `Check Environment`.
|
|
331
|
+
- when the global runtime is healthy, the plugin can launch Codex directly and still keeps a clipboard fallback for prompt handoff flows.
|
|
332
|
+
- stale legacy overlay artifacts are no longer part of the normal operator path and should be treated as deprecated compatibility state.
|
|
333
|
+
|
|
334
|
+
Legacy compatibility:
|
|
335
|
+
- `logics_codex_workspace.py` remains available as a legacy overlay manager for transitional troubleshooting or older flows.
|
|
336
|
+
- overlays are no longer the primary runtime contract for the plugin or the recommended default operator path.
|
|
337
|
+
|
|
338
|
+
## Validation
|
|
339
|
+
|
|
340
|
+
- Compile: `npm run compile`
|
|
341
|
+
- Lint TS: `npm run lint`
|
|
342
|
+
- Unit tests: `npm run test`
|
|
343
|
+
- Plugin coverage: `npm run test:coverage`
|
|
344
|
+
- VSIX package validation: `npm run package:ci`
|
|
345
|
+
- Logics docs lint: `npm run lint:logics`
|
|
346
|
+
- Logics workflow audit + docs lint: `npm run audit:logics`
|
|
347
|
+
- Fast extension-focused local check: `npm run ci:fast`
|
|
348
|
+
- Full CI-equivalent local check: `npm run ci:check`
|
|
349
|
+
- Security audit policy gate: `npm run audit:ci`
|
|
350
|
+
|
|
351
|
+
`npm run ci:check` mirrors the blocking repository CI contract, including Logics strict-status lint, request auto-close sync verification, workflow audit, Python tests, CLI smoke checks, TypeScript validation, extension tests, and VSIX packaging.
|
|
352
|
+
|
|
353
|
+
`npm run audit:ci` enforces the repository audit policy locally. It blocks new actionable vulnerabilities and only allows the explicitly documented temporary exceptions tracked in the backlog.
|
|
354
|
+
|
|
355
|
+
CI runs compile, lint, tests, Logics docs lint, and VSIX packaging validation on every `push` and `pull_request` via `.github/workflows/ci.yml`.
|
|
356
|
+
|
|
357
|
+
## Windows Validation From macOS
|
|
358
|
+
|
|
359
|
+
Use a two-layer strategy:
|
|
360
|
+
|
|
361
|
+
- CI is the fast default. The repository now validates supported Windows flows in GitHub Actions on `windows-latest`.
|
|
362
|
+
- A real Windows VM is still required for targeted debugging and release confidence on shell, PATH, launcher, filesystem, and VS Code host behavior.
|
|
363
|
+
|
|
364
|
+
Recommended local VM path from macOS:
|
|
365
|
+
|
|
366
|
+
- Apple Silicon: UTM with Windows 11 ARM is the pragmatic low-cost option.
|
|
367
|
+
- Intel Mac: UTM or another Windows-capable VM is fine.
|
|
368
|
+
|
|
369
|
+
Suggested VM checklist:
|
|
370
|
+
|
|
371
|
+
1. Install VS Code, Git, Python 3, and Node.js inside the VM.
|
|
372
|
+
2. Confirm launchers from the Windows shell you actually care about (`git --version`, `py -3 --version` or `python --version`, `node --version`, `npm --version`).
|
|
373
|
+
3. Clone the repo and run `npm ci`.
|
|
374
|
+
4. Run the automated baseline first: `npm run ci:check` and `python -m logics_manager lint`.
|
|
375
|
+
5. Smoke the real Windows-only paths:
|
|
376
|
+
- install the `.vsix` from VS Code or with `code --install-extension ...`
|
|
377
|
+
- trigger `Bootstrap Logics`
|
|
378
|
+
- run `Logics: Check Environment`
|
|
379
|
+
- run `logics-manager assist runtime-status --format json` and confirm `windows_safe_entrypoint` still points to `python -m logics_manager flow assist ...`
|
|
380
|
+
- run `logics-manager assist diff-risk --backend auto --format json` and `logics-manager assist validation-checklist --format json`
|
|
381
|
+
- confirm those shared-runtime commands still work without relying on any repo-local Codex overlay path
|
|
382
|
+
- create a request, backlog item, and task
|
|
383
|
+
- promote request -> backlog and backlog -> task
|
|
384
|
+
- confirm `py -3` or `python` launcher resolution works as expected
|
|
385
|
+
6. Use the VM for release preparation and any bug that smells like shell quoting, PATH resolution, case-insensitive paths, symlink restrictions, or extension-host behavior. Do not treat macOS-only local simulation as a full Windows substitute.
|
|
386
|
+
|
|
387
|
+
## Closing Logics Work
|
|
388
|
+
|
|
389
|
+
Do not mark a Logics task as `Done` by editing markdown indicators manually.
|
|
390
|
+
Use the canonical `logics-manager` guarded finish command so closure propagates correctly from task -> backlog -> request and the linked chain is verified.
|
|
391
|
+
|
|
392
|
+
```bash
|
|
393
|
+
npm run logics:finish:task -- logics/tasks/task_020_orchestration_delivery_for_req_019_req_020_and_req_021.md
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
This uses the runtime-native command:
|
|
397
|
+
- `logics-manager flow finish task ...`
|
|
398
|
+
|
|
399
|
+
If you want a full repository-wide check afterward, run:
|
|
400
|
+
- `npm run audit:logics`
|
|
401
|
+
|
|
402
|
+
If you edit statuses by hand, the docs can look valid while the request/backlog chain is left out of sync.
|
|
403
|
+
|
|
404
|
+
For multi-wave delivery work, prefer coherent checkpoints:
|
|
405
|
+
- update the linked Logics docs during the wave that changes the behavior;
|
|
406
|
+
- leave the repo in a commit-ready state at the end of the wave;
|
|
407
|
+
- then create the reviewed commit checkpoint instead of batching several undocumented partial states.
|
|
408
|
+
|
|
409
|
+
## Webview Browser Debug
|
|
410
|
+
|
|
411
|
+
Run the harness server:
|
|
412
|
+
|
|
413
|
+
```bash
|
|
414
|
+
npm run debug:webview
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
Then open `http://localhost:4173/` and switch scenarios from the in-page debug control.
|
|
418
|
+
|
|
419
|
+
In harness mode:
|
|
420
|
+
- `Change Project Root` uses browser-native directory selection fallbacks.
|
|
421
|
+
- `Edit` and `Read` open selected files in new browser tabs (preferring File System Access API content when available).
|
|
422
|
+
- `Read` renders markdown with Mermaid support in the browser preview tab.
|
|
423
|
+
- Host-only actions (for example `Promote`, `Fix Logics`) show explicit guidance instead of silent no-op.
|
|
424
|
+
- Add `?debug-ui=1` to the harness URL to enable verbose UI state transition logs in browser console.
|
|
425
|
+
|
|
426
|
+
## Accessibility Baseline
|
|
427
|
+
|
|
428
|
+
For new UI controls in this project:
|
|
429
|
+
- Every interactive control must expose an accessible name (`aria-label` or visible text).
|
|
430
|
+
- Icon-only controls must include a `title` tooltip for discoverability.
|
|
431
|
+
- Dynamic toggles must keep ARIA state in sync (`aria-expanded`, `aria-disabled`, `aria-pressed`).
|
|
432
|
+
- Custom interactive elements must be keyboard reachable (`tabindex`) and activatable (`Enter`/`Space`).
|
|
433
|
+
- Keep hover/focus descriptions consistent across toolbar, board, menus, and details panel.
|
|
434
|
+
|
|
435
|
+
## Notes
|
|
436
|
+
|
|
437
|
+
- Promotion is only allowed for request/backlog items that are not already used.
|
|
438
|
+
- Items with `Progress: 100%` are treated as completed.
|
|
439
|
+
- The UI reads and writes the existing Markdown files; it does not manage a separate database.
|
|
440
|
+
- For stable references in the board/details panel, use canonical markdown links:
|
|
441
|
+
- `Derived from \`logics/<stage>/<file>.md\`` or `Promoted from \`...\``
|
|
442
|
+
- `# Backlog` section in requests
|
|
443
|
+
- `# References` and `# Used by` sections with backticked relative paths
|
|
444
|
+
- For companion docs (`prod_*`, `adr_*`), `Related request/backlog/task/architecture` indicators are also indexed as managed-doc links.
|
|
445
|
+
- Companion docs should still mirror those links under `# References` with canonical relative paths so the runtime and plugin stay aligned.
|
|
446
|
+
- Legacy nested list blocks (`- References:` / `- Used by:`) are also parsed for backward compatibility.
|