development-engine-vector 0.3.0__tar.gz → 0.5.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.
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/PKG-INFO +89 -33
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/changelog.md +55 -1
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/contributing.md +18 -11
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/__init__.py +1 -1
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/cli/cli.py +201 -45
- development_engine_vector-0.5.0/dev/kernel/kernel_core.py +387 -0
- development_engine_vector-0.5.0/dev/kernel/otk_kernel.py +260 -0
- development_engine_vector-0.5.0/dev/kernel/pmf_kernel.py +24 -0
- development_engine_vector-0.5.0/dev/ui/actions.py +110 -0
- development_engine_vector-0.5.0/dev/ui/routes.py +282 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/static/web.js +344 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/templates.py +131 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/docs/architecture.md +28 -5
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/pyproject.toml +1 -1
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/readme.md +88 -32
- development_engine_vector-0.5.0/version +1 -0
- development_engine_vector-0.3.0/dev/kernel/pmf_kernel.py +0 -432
- development_engine_vector-0.3.0/dev/ui/actions.py +0 -47
- development_engine_vector-0.3.0/dev/ui/routes.py +0 -114
- development_engine_vector-0.3.0/version +0 -1
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/.flake8 +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/.gitignore +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/__main__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/cli/__init__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/kernel/__init__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/kernel/config.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/kernel/db.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/kernel/paths.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/kernel/selfcheck.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/__init__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/__init__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/base.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/checks.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/events.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/health.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/identity.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/manifest.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/overview.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/db/runs.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/static/__init__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/static/web.css +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/ui/web.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/utils.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/vcs/__init__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/vcs/git.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/vcs/github.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/workflow/__init__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/workflow/cda.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/workflow/changelog.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/workflow/preflight.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/workflow/release.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev/workflow/versioning.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/dev-cli.toml.example +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/license +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/tests/__init__.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/tests/test_cda_preflight.py +0 -0
- {development_engine_vector-0.3.0 → development_engine_vector-0.5.0}/tests/test_dev_cli.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: development-engine-vector
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Development Engine Vector — internal developer workflow CLI.
|
|
5
5
|
Author-email: Ernie Butcher <ernie@fiosii.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -12,7 +12,7 @@ Description-Content-Type: text/markdown
|
|
|
12
12
|
# Development Engine Vector
|
|
13
13
|
|
|
14
14
|
[](https://www.python.org/downloads/)
|
|
15
|
-
[](https://pypi.org/project/development-engine-vector)
|
|
16
16
|
[](https://opensource.org/licenses/MIT)
|
|
17
17
|
|
|
18
18
|
**Development Engine Vector** (`dev`) is the developer workflow coordination CLI for goCosmix systems. It provides a consistent, scriptable interface for preflight checks, version management, changelog automation, release orchestration, and git/GitHub operations — usable across every system in the federation.
|
|
@@ -51,10 +51,10 @@ Description-Content-Type: text/markdown
|
|
|
51
51
|
### Install from PyPI
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
pip install
|
|
54
|
+
pip install development-engine-vector
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
> **macOS / system Python note**: pip installs the `dev` binary to `~/Library/Python/3.
|
|
57
|
+
> **macOS / system Python note**: pip installs the `dev` binary to `~/Library/Python/3.9/bin/` which may not be on `PATH` by default.
|
|
58
58
|
>
|
|
59
59
|
> ```bash
|
|
60
60
|
> export PATH="$HOME/Library/Python/3.9/bin:$PATH"
|
|
@@ -62,30 +62,38 @@ pip install dev-cli
|
|
|
62
62
|
>
|
|
63
63
|
> Add this line to `~/.zprofile` for persistence.
|
|
64
64
|
|
|
65
|
-
###
|
|
65
|
+
### First-time setup (recommended)
|
|
66
|
+
|
|
67
|
+
After install, run the onboarding wizard — it creates your home directory, registers the macOS LaunchAgent, and opens the dashboard:
|
|
66
68
|
|
|
67
69
|
```bash
|
|
68
|
-
|
|
69
|
-
cd dev/source
|
|
70
|
-
pip install -e .
|
|
70
|
+
dev setup
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
### Install
|
|
73
|
+
### Install from source
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
|
|
76
|
+
git clone https://github.com/goCosmix/dev.git
|
|
77
|
+
cd dev/source
|
|
78
|
+
pip install -e .
|
|
77
79
|
```
|
|
78
80
|
|
|
79
81
|
## ⚡ Quick Start
|
|
80
82
|
|
|
81
83
|
```bash
|
|
82
|
-
pip install
|
|
84
|
+
pip install development-engine-vector
|
|
83
85
|
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
|
|
84
86
|
|
|
87
|
+
# Full onboarding (creates ~/Library/goCosmix/tools/dev/, registers launchd, opens UI)
|
|
88
|
+
dev setup
|
|
89
|
+
|
|
90
|
+
# Or just start the dashboard manually
|
|
91
|
+
dev ui start
|
|
92
|
+
|
|
85
93
|
# Point at any goCosmix project
|
|
86
|
-
dev pf --project /
|
|
87
|
-
dev version show --project /
|
|
88
|
-
dev release --project /
|
|
94
|
+
dev pf --project /path/to/project # preflight check
|
|
95
|
+
dev version show --project /path/to/project
|
|
96
|
+
dev release --project /path/to/project --dry-run
|
|
89
97
|
```
|
|
90
98
|
|
|
91
99
|
## 🔧 CLI Reference
|
|
@@ -167,6 +175,58 @@ Checks: version consistency, install path, DB state, required tools on PATH, Pyt
|
|
|
167
175
|
dev config show --project <path> # display active config and resolved settings
|
|
168
176
|
```
|
|
169
177
|
|
|
178
|
+
### `dev ui`
|
|
179
|
+
|
|
180
|
+
Manage the embedded web dashboard (port 9001).
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
dev ui start # start dashboard, open browser
|
|
184
|
+
dev ui start --no-browser # start without opening browser
|
|
185
|
+
dev ui stop # stop dashboard
|
|
186
|
+
dev ui status # show pid, started time, log path
|
|
187
|
+
dev ui restart # restart
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### `dev otk`
|
|
191
|
+
|
|
192
|
+
Manage the **Ops Tool Kernel (OTK)** and background services/tasks.
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
dev otk services # list services/tasks and status
|
|
196
|
+
dev otk status [service_id] # detailed status for one or all
|
|
197
|
+
dev otk start ui # start daemon service
|
|
198
|
+
dev otk start preflight --project <path> # run preflight task service
|
|
199
|
+
dev otk start vet # run control vet task service
|
|
200
|
+
dev otk start build --project <path> # run build task service
|
|
201
|
+
dev otk start publish-check # run dry-run publish validation
|
|
202
|
+
dev otk start release-dryrun --project <path> # run full dry-run release workflow
|
|
203
|
+
dev otk stop ui # stop daemon service
|
|
204
|
+
dev otk restart ui # restart daemon service
|
|
205
|
+
dev otk logs vet --tail 100 # tail service/task logs
|
|
206
|
+
dev otk events --tail 20 # inspect kernel event journal
|
|
207
|
+
dev otk up # start default runtime services
|
|
208
|
+
dev otk install # register macOS LaunchAgent (auto-start)
|
|
209
|
+
dev otk uninstall # remove LaunchAgent
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
`dev pmf ...` remains available as a legacy alias for backward compatibility.
|
|
213
|
+
|
|
214
|
+
### `dev setup`
|
|
215
|
+
|
|
216
|
+
Full onboarding wizard — run once after install.
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
dev setup # init dirs + otk install + ui start + open browser
|
|
220
|
+
dev setup --no-browser # same, skip browser
|
|
221
|
+
dev setup --run-otk-chain # also run the OTK preflight → vet chain
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Steps:
|
|
225
|
+
1. **Init** — create `~/Library/goCosmix/tools/dev/` and all runtime subdirs; patch `~/.zprofile` if `dev` is not on PATH
|
|
226
|
+
2. **OTK install** — register `com.gocosmix.dev` LaunchAgent so `dev` starts automatically on every login
|
|
227
|
+
3. **Up** — start the web UI via OTK kernel, open browser at `http://127.0.0.1:9001`
|
|
228
|
+
4. **Phase 2** — optionally run `preflight → vet` against the dev source tree for a fresh post-setup validation pass
|
|
229
|
+
|
|
170
230
|
## ⚙️ Configuration
|
|
171
231
|
|
|
172
232
|
Add a `.dev-cli.toml` or `dev-cli.toml` at any project root:
|
|
@@ -197,16 +257,19 @@ dev --config ./custom.dev-cli.toml release --project /Volumes/intel/systems/cda/
|
|
|
197
257
|
|
|
198
258
|
## 🏗 Architecture
|
|
199
259
|
|
|
200
|
-
`dev` is organized into
|
|
260
|
+
`dev` is organized into five layers:
|
|
201
261
|
|
|
202
262
|
```
|
|
203
263
|
dev/
|
|
204
|
-
├── kernel/ — runtime foundation (paths, DB, config, self-check)
|
|
264
|
+
├── kernel/ — runtime foundation (OTK kernel, shared core, paths, DB, config, self-check)
|
|
205
265
|
├── workflow/ — business logic (versioning, changelog, preflight, release)
|
|
206
266
|
├── vcs/ — version control ops (git, GitHub API)
|
|
267
|
+
├── ui/ — embedded WSGI dashboard (port 9001, indigo theme)
|
|
207
268
|
└── cli/ — thin click wrappers
|
|
208
269
|
```
|
|
209
270
|
|
|
271
|
+
Runtime home: `~/Library/goCosmix/tools/dev/` (tools tier — `9000` namespace)
|
|
272
|
+
|
|
210
273
|
See [docs/architecture.md](docs/architecture.md) for the full design.
|
|
211
274
|
|
|
212
275
|
## 🛠 Development
|
|
@@ -216,31 +279,24 @@ cd /Volumes/intel/systems/dev/source
|
|
|
216
279
|
pip install -e .
|
|
217
280
|
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
|
|
218
281
|
|
|
219
|
-
# Run checks
|
|
282
|
+
# Run all checks (lint + typecheck + tests)
|
|
283
|
+
python3 /Volumes/intel/systems/dev/control/scripts/vet.py
|
|
284
|
+
|
|
285
|
+
# Or individually
|
|
220
286
|
python3 -m flake8 dev/
|
|
221
287
|
python3 -m mypy dev/
|
|
222
288
|
python3 -m pytest tests/ -q
|
|
223
|
-
|
|
224
|
-
# Or via the control plane
|
|
225
|
-
python3 ../control/scripts/vet.py
|
|
226
|
-
python3 ../control/cli.py health
|
|
227
289
|
```
|
|
228
290
|
|
|
229
291
|
### Control plane
|
|
230
292
|
|
|
231
|
-
|
|
232
|
-
python3 control/cli.py --help
|
|
293
|
+
The control plane manages the `dev` system itself (not for managing other projects).
|
|
233
294
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
dev
|
|
237
|
-
dev
|
|
238
|
-
dev
|
|
239
|
-
dev-control seed # re-seed control.db
|
|
240
|
-
dev-control selfcheck # engine self-diagnostics
|
|
241
|
-
dev-control runs # show run history from dev.db
|
|
242
|
-
dev-control projects # show registered projects
|
|
243
|
-
dev-control manifest # query file manifest from control.db
|
|
295
|
+
```bash
|
|
296
|
+
# Vet, seed, and publish
|
|
297
|
+
python3 /Volumes/intel/systems/dev/control/scripts/vet.py # lint + typecheck + tests
|
|
298
|
+
python3 /Volumes/intel/systems/dev/control/scripts/seed.py # re-seed control.db
|
|
299
|
+
python3 /Volumes/intel/systems/dev/control/scripts/push.py # vet + git push + PyPI publish
|
|
244
300
|
```
|
|
245
301
|
|
|
246
302
|
## 🤝 Contributing
|
|
@@ -5,7 +5,61 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [0.
|
|
8
|
+
## [0.5.0] - 2026-05-11
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Full UI expansion** — 7 new dashboard pages surfacing the entire `dev` command surface:
|
|
12
|
+
- **OTK** — live service/task table with Start / Stop / Restart controls per service
|
|
13
|
+
- **Selfcheck** — editable install path, DB state, tool availability, dependency status
|
|
14
|
+
- **Version** — version file vs package version, sync target map
|
|
15
|
+
- **Release** — release run history, registered project registry, one-click workflow buttons (Preflight, Vet, Build, Publish Check, Release Dry-Run)
|
|
16
|
+
- **Project** — project dir, config file, package/changelog sync state
|
|
17
|
+
- **Git** — branch, last tag, dirty state, remote URL, commits since tag
|
|
18
|
+
- **Setup** — DEV_HOME, launch agent install status, all runtime path table
|
|
19
|
+
- New backend summary APIs: `/api/dev/selfcheck`, `/api/dev/version`, `/api/dev/changelog`, `/api/dev/git`, `/api/dev/project`, `/api/dev/release`, `/api/dev/setup`
|
|
20
|
+
- Background action runner now distinguishes task vs daemon services: tasks run synchronously to completion and capture full output before updating action state
|
|
21
|
+
- Navigation expanded with new groups: OTK under Core; Selfcheck/Version/Release under Config; Project/Git under Inventory; Setup under System
|
|
22
|
+
|
|
23
|
+
## [0.4.1] - 2026-05-11
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
- Optional Phase 2 onboarding flow: `dev setup --run-otk-chain` runs the OTK preflight → vet task chain after startup
|
|
27
|
+
- Dashboard now renders the OTK kernel brain directly on the default page:
|
|
28
|
+
- runtime service table
|
|
29
|
+
- recent kernel event feed
|
|
30
|
+
- Added synchronous task execution support in the shared kernel core for onboarding and orchestration
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- Dashboard overview now includes kernel-state visibility in addition to vet stats
|
|
34
|
+
- OTK task events are recorded in the runtime journal and surfaced through the UI
|
|
35
|
+
|
|
36
|
+
## [0.4.0] - 2026-05-11
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
- **Ops Tool Kernel (OTK)** architecture for `dev`:
|
|
40
|
+
- `kernel_core.py` shared kernel base (service lifecycle, persistent runtime state, event journal)
|
|
41
|
+
- `otk_kernel.py` system-adapted kernel (daemon + task service catalog)
|
|
42
|
+
- `pmf_kernel.py` compatibility shim preserving PMF imports
|
|
43
|
+
- New OTK task services: `preflight`, `vet`, `build`, `publish-check`, `release-dryrun`
|
|
44
|
+
- New runtime events command: `dev otk events` (also available through legacy `dev pmf events`)
|
|
45
|
+
- New web API endpoints for kernel state and actions:
|
|
46
|
+
- `GET /api/kernel/services`, `GET /api/kernel/status`, `GET /api/kernel/events`
|
|
47
|
+
- `POST /api/kernel/start`, `POST /api/kernel/stop`, `POST /api/kernel/restart`
|
|
48
|
+
- `GET /api/actions`, `GET /api/action/status`
|
|
49
|
+
|
|
50
|
+
### Changed
|
|
51
|
+
- LaunchAgent now calls `dev otk up` (legacy `dev pmf ...` remains as an alias)
|
|
52
|
+
- `dev setup` language updated from PMF-first to OTK-first flow
|
|
53
|
+
- Control data seed metadata updated for PyPI package name: `development-engine-vector`
|
|
54
|
+
|
|
55
|
+
## [0.3.1] - 2026-05-11
|
|
56
|
+
|
|
57
|
+
### Changed
|
|
58
|
+
- PyPI package renamed from `dev-cli` (taken) to **`development-engine-vector`** — matching the `code-data-ark` naming convention
|
|
59
|
+
- `--version` now resolves from `development-engine-vector` package metadata
|
|
60
|
+
- Docs updated: readme, architecture, contributing — correct DEV_HOME path (`tools/dev`), port 9001, `ui`/`pmf`/`setup` command reference, `ui/` layer in architecture diagram
|
|
61
|
+
|
|
62
|
+
## [0.3.0] - 2026-05-11
|
|
9
63
|
|
|
10
64
|
### Added
|
|
11
65
|
- **Embedded web UI** — full WSGI dashboard on port 9001 (`dev ui start/stop/status/restart`)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Contributing to Development Engine Vector
|
|
2
2
|
|
|
3
|
-
We welcome contributions. This document provides guidelines for working on `
|
|
3
|
+
We welcome contributions. This document provides guidelines for working on `development-engine-vector`.
|
|
4
4
|
|
|
5
5
|
## Code of Conduct
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ cd dev/source
|
|
|
20
20
|
### Setup development environment
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
pip install -e
|
|
23
|
+
pip install -e .
|
|
24
24
|
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
|
|
25
25
|
```
|
|
26
26
|
|
|
@@ -86,7 +86,10 @@ dev/
|
|
|
86
86
|
├── source/ # all tracked code lives here
|
|
87
87
|
│ ├── dev/ # Python package
|
|
88
88
|
│ │ ├── kernel/ # runtime foundation
|
|
89
|
-
│ │ │ ├── paths.py # DEV_HOME
|
|
89
|
+
│ │ │ ├── paths.py # DEV_HOME = ~/Library/goCosmix/tools/dev
|
|
90
|
+
│ │ │ ├── kernel_core.py # shared kernel DNA (service lifecycle + events)
|
|
91
|
+
│ │ │ ├── otk_kernel.py # Ops Tool Kernel (dev-specific services/tasks)
|
|
92
|
+
│ │ │ ├── pmf_kernel.py # compatibility shim over OTK symbols
|
|
90
93
|
│ │ │ ├── db.py # WAL SQLite — runs + projects
|
|
91
94
|
│ │ │ ├── config.py # DevConfig — reads .dev-cli.toml
|
|
92
95
|
│ │ │ └── selfcheck.py # engine self-diagnostics
|
|
@@ -99,6 +102,13 @@ dev/
|
|
|
99
102
|
│ │ ├── vcs/ # version control
|
|
100
103
|
│ │ │ ├── git.py
|
|
101
104
|
│ │ │ └── github.py
|
|
105
|
+
│ │ ├── ui/ # embedded WSGI dashboard (port 9001)
|
|
106
|
+
│ │ │ ├── web.py
|
|
107
|
+
│ │ │ ├── routes.py
|
|
108
|
+
│ │ │ ├── templates.py
|
|
109
|
+
│ │ │ ├── actions.py
|
|
110
|
+
│ │ │ ├── static/ # web.css (indigo theme), web.js
|
|
111
|
+
│ │ │ └── db/ # per-page query modules
|
|
102
112
|
│ │ └── cli/
|
|
103
113
|
│ │ └── cli.py # click entry point
|
|
104
114
|
│ ├── tests/
|
|
@@ -108,15 +118,9 @@ dev/
|
|
|
108
118
|
│ ├── readme.md
|
|
109
119
|
│ └── version
|
|
110
120
|
├── local/ # runtime state (gitignored)
|
|
111
|
-
│ ├── data/ # dev.db lives at ~/Library/goCosmix/apps/dev/
|
|
112
|
-
│ └── logs/
|
|
113
121
|
└── control/ # management artifacts (gitignored)
|
|
114
|
-
├── cli.py # dev-control CLI
|
|
115
|
-
├── ops.py # reusable status helpers
|
|
116
122
|
├── data/ # control.db
|
|
117
|
-
|
|
118
|
-
├── audit/ # audit engine output JSONs
|
|
119
|
-
└── docs/ # control system documentation
|
|
123
|
+
└── scripts/ # seed.py, vet.py, push.py
|
|
120
124
|
```
|
|
121
125
|
|
|
122
126
|
## Key components
|
|
@@ -125,7 +129,10 @@ dev/
|
|
|
125
129
|
Thin click wrappers. All logic delegates to `workflow/` and `vcs/` modules.
|
|
126
130
|
|
|
127
131
|
### Kernel (`dev/kernel/`)
|
|
128
|
-
- `paths.py` — canonical path constants; `DEV_HOME = ~/Library/goCosmix/
|
|
132
|
+
- `paths.py` — canonical path constants; `DEV_HOME = ~/Library/goCosmix/tools/dev`
|
|
133
|
+
- `kernel_core.py` — shared kernel base (`ServiceSpec`, lifecycle, state persistence, event journal)
|
|
134
|
+
- `otk_kernel.py` — `OTKKernel`: Ops Tool Kernel service/task catalog (`ui`, `preflight`, `vet`, `build`, `publish-check`, `release-dryrun`) and launchd integration
|
|
135
|
+
- `pmf_kernel.py` — backward-compatible alias layer for existing PMF imports
|
|
129
136
|
- `db.py` — WAL SQLite; `record_run`, `finish_run`, `upsert_project`, `get_recent_runs`
|
|
130
137
|
- `config.py` — loads `.dev-cli.toml` / `dev-cli.toml` from project root
|
|
131
138
|
- `selfcheck.py` — five checks: version, install path, DB, tools, dependencies
|