perseus-ctx 1.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.
- perseus_ctx-1.0.0/CHANGELOG.md +98 -0
- perseus_ctx-1.0.0/LICENSE +21 -0
- perseus_ctx-1.0.0/MANIFEST.in +4 -0
- perseus_ctx-1.0.0/PKG-INFO +719 -0
- perseus_ctx-1.0.0/README.md +690 -0
- perseus_ctx-1.0.0/VERSION +1 -0
- perseus_ctx-1.0.0/perseus.py +9986 -0
- perseus_ctx-1.0.0/perseus_ctx.egg-info/PKG-INFO +719 -0
- perseus_ctx-1.0.0/perseus_ctx.egg-info/SOURCES.txt +37 -0
- perseus_ctx-1.0.0/perseus_ctx.egg-info/dependency_links.txt +1 -0
- perseus_ctx-1.0.0/perseus_ctx.egg-info/entry_points.txt +2 -0
- perseus_ctx-1.0.0/perseus_ctx.egg-info/requires.txt +1 -0
- perseus_ctx-1.0.0/perseus_ctx.egg-info/top_level.txt +1 -0
- perseus_ctx-1.0.0/pyproject.toml +40 -0
- perseus_ctx-1.0.0/setup.cfg +4 -0
- perseus_ctx-1.0.0/tests/test_adapter_conformance.py +105 -0
- perseus_ctx-1.0.0/tests/test_agent_inbox_template.py +180 -0
- perseus_ctx-1.0.0/tests/test_audit_log.py +246 -0
- perseus_ctx-1.0.0/tests/test_checkpoint_agora_health.py +340 -0
- perseus_ctx-1.0.0/tests/test_compat_migration.py +233 -0
- perseus_ctx-1.0.0/tests/test_container.py +103 -0
- perseus_ctx-1.0.0/tests/test_doctor.py +169 -0
- perseus_ctx-1.0.0/tests/test_golden.py +122 -0
- perseus_ctx-1.0.0/tests/test_installer.py +116 -0
- perseus_ctx-1.0.0/tests/test_llm.py +192 -0
- perseus_ctx-1.0.0/tests/test_lsp.py +472 -0
- perseus_ctx-1.0.0/tests/test_memory.py +362 -0
- perseus_ctx-1.0.0/tests/test_memory_federation.py +430 -0
- perseus_ctx-1.0.0/tests/test_oracle.py +697 -0
- perseus_ctx-1.0.0/tests/test_perf_budgets.py +216 -0
- perseus_ctx-1.0.0/tests/test_permission_profiles.py +254 -0
- perseus_ctx-1.0.0/tests/test_platform_misc.py +562 -0
- perseus_ctx-1.0.0/tests/test_redaction.py +279 -0
- perseus_ctx-1.0.0/tests/test_release.py +263 -0
- perseus_ctx-1.0.0/tests/test_renderer.py +793 -0
- perseus_ctx-1.0.0/tests/test_serve.py +376 -0
- perseus_ctx-1.0.0/tests/test_synthesis.py +479 -0
- perseus_ctx-1.0.0/tests/test_vscode_extension.py +59 -0
- perseus_ctx-1.0.0/tests/test_watch.py +217 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Perseus.
|
|
4
|
+
|
|
5
|
+
This project follows the alpha-then-semver convention:
|
|
6
|
+
during the alpha (pre-`1.0.0`) phase, minor bumps may include breaking changes
|
|
7
|
+
that are documented in the release notes.
|
|
8
|
+
|
|
9
|
+
Each entry maps a release to the task IDs that shipped in it. The
|
|
10
|
+
single-file `perseus.py` runtime is the only required artifact; everything
|
|
11
|
+
else (installer, docs) is generated by `scripts/release.sh`.
|
|
12
|
+
|
|
13
|
+
## [Unreleased]
|
|
14
|
+
|
|
15
|
+
## [1.0.0] — 2026-05-20
|
|
16
|
+
|
|
17
|
+
All Phase 1–22 tasks complete. Perseus v1.0.0 — the first stable release.
|
|
18
|
+
|
|
19
|
+
- **task-56** — Phase 20C: added headless watch mode (`perseus watch`) — inotify/polling
|
|
20
|
+
file watcher with configurable interval, re-render on change, and debounce. Degrades
|
|
21
|
+
gracefully when watchdog is unavailable.
|
|
22
|
+
- **task-57** — Phase 21A: added golden evaluation corpus under `tests/fixtures/golden/`
|
|
23
|
+
covering render, synthesis, and Pythia output shapes; deterministic comparison harness
|
|
24
|
+
in `tests/test_golden.py`.
|
|
25
|
+
- **task-58** — Phase 21B: added performance budget framework (`tests/test_perf_budgets.py`)
|
|
26
|
+
with per-command cold/warm timing, advisory warnings at 2× budget, and configurable
|
|
27
|
+
thresholds. Three commands (render, graph, prefetch) emit advisory warnings in the
|
|
28
|
+
current environment — not failures.
|
|
29
|
+
- **task-59** — Phase 21C: added compatibility and migration suite (`tests/test_compat_migration.py`)
|
|
30
|
+
covering checkpoint round-trip compatibility, config migration (`oracle:` → `pythia:` rename),
|
|
31
|
+
pack manifest version handling, and install/upgrade smoke paths.
|
|
32
|
+
- **task-60** — Phase 22A: added `docs/index.md` (documentation hub), `docs/quickstart.md`
|
|
33
|
+
(install-to-render in 10 steps), and `docs/CONTRIBUTING.md` (contributor guide with
|
|
34
|
+
single-file constraint, directive authoring 4-touch pattern, test conventions, Agora
|
|
35
|
+
workflow). Updated README with `## Documentation` section.
|
|
36
|
+
- **task-61** — Phase 22B: added `examples/` with three runnable demo workspaces:
|
|
37
|
+
`local-cli/` (render, checkpoint, recover, suggest, doctor), `assistant-profile/`
|
|
38
|
+
(context pack, hermes profile, @memory + @agora), and `container/README.md` (Docker
|
|
39
|
+
mount and auth guide). Smoke scripts verified end-to-end.
|
|
40
|
+
- **task-62** — Phase 22C: v1 release candidate checklist. 493 tests passing (1 skipped
|
|
41
|
+
TCP smoke). Release artifacts built and checksums verified. README/CHANGELOG/ROADMAP
|
|
42
|
+
docs aligned. Version bumped to `1.0.0-rc.1`. Known limitations documented.
|
|
43
|
+
|
|
44
|
+
## [1.0.0-rc.1] — 2026-05-20
|
|
45
|
+
|
|
46
|
+
Release candidate — superseded by v1.0.0.
|
|
47
|
+
|
|
48
|
+
- **task-63** — Completed the Oracle → Pythia internal rename while preserving the
|
|
49
|
+
public `perseus oracle` CLI compatibility surface. Added legacy `oracle:`
|
|
50
|
+
config warnings and one-time `oracle_log.jsonl` → `pythia_log.jsonl`
|
|
51
|
+
migration.
|
|
52
|
+
- **task-49** — Phase 18B: added `tests/test_release.py` (16 tests) covering all
|
|
53
|
+
release artifact acceptance criteria — version coherence, repeatability,
|
|
54
|
+
SHA256SUMS integrity, CHANGELOG task mapping, and tarball contents.
|
|
55
|
+
- **task-50** — Phase 18C: aligned scheduler behavior and docs around
|
|
56
|
+
host-neutral POSIX crontab generation, macOS launchd, Linux systemd, and
|
|
57
|
+
explicitly deferred native Windows Task Scheduler support. Added scheduler
|
|
58
|
+
smoke tests and repaired release artifact portability on macOS/BSD tar.
|
|
59
|
+
- **task-51** — Phase 19A: added offline adapter conformance fixtures and a
|
|
60
|
+
parametrized harness covering generic, Hermes, Codex, Claude Code, Cursor,
|
|
61
|
+
and Rovo Dev render outputs, pack manifests, and integration docs.
|
|
62
|
+
- **task-52** — Phase 19B: promoted product profiles into a documented gallery
|
|
63
|
+
with output paths, trust defaults, refresh guidance, non-interactive generation
|
|
64
|
+
tests, and hardcoded-path guards for all six supported profiles.
|
|
65
|
+
- **task-53** — Phase 19C: polished the VSCode extension for release with
|
|
66
|
+
reproducible packaging docs, package scripts, LSP render/checkpoint/mutation
|
|
67
|
+
smoke tests, and static package-manifest checks.
|
|
68
|
+
- **task-54** — Phase 20A: added optional bearer-token authentication for
|
|
69
|
+
`perseus serve`, a token generator, non-loopback bind safety gates, trust
|
|
70
|
+
report serve fields, and HTTP auth tests.
|
|
71
|
+
- **task-55** — Phase 20B: added a single-file-runtime container image,
|
|
72
|
+
compose examples for render and authenticated serve, container trust docs,
|
|
73
|
+
and static/optional Docker smoke tests.
|
|
74
|
+
- **task-56** — Phase 20C: added `perseus watch`, a dependency-free polling
|
|
75
|
+
loop for refreshing single source files or context-pack render targets, with
|
|
76
|
+
deterministic debounce tests and clean shutdown behavior.
|
|
77
|
+
|
|
78
|
+
## [0.9.0] — 2026-05-19
|
|
79
|
+
|
|
80
|
+
### Trust, privacy, and local policy (Phase 17)
|
|
81
|
+
|
|
82
|
+
- **task-45** — Permission profiles (`strict` / `balanced` / `power-user`); `perseus trust` and `--json`; `serve.bind` promoted to config; version bump to 0.9.0.
|
|
83
|
+
- **task-46** — Secrets redaction (`DEFAULT_REDACTION_RULES`, `redact_text()`) at render/synthesize/serve trust boundaries; source files never mutated; counts-only report.
|
|
84
|
+
- **task-47** — Audit log (`audit_event()` JSONL with rotation); emitters at 5 trust boundaries; `perseus trust audit [--tail N] [--json]`; default `perseus trust` shows audit posture; secret values never persisted.
|
|
85
|
+
|
|
86
|
+
### Distribution (Phase 18)
|
|
87
|
+
|
|
88
|
+
- **task-48** — Installer bootstrap (`scripts/install.sh` + `INSTALL.md`); preserves the single-file runtime; verifies Python 3.10+ and `pyyaml`; idempotent upgrade and clean uninstall.
|
|
89
|
+
- **task-49** — Release artifacts and versioning: `VERSION` file as source of truth, `scripts/release.sh` produces a deterministic tarball + zip + SHA256SUMS, this changelog, and version-coherence checks (perseus.py / VERSION / CHANGELOG).
|
|
90
|
+
|
|
91
|
+
### Verification
|
|
92
|
+
|
|
93
|
+
- Tests: 393 passing, 0 skipped.
|
|
94
|
+
- Single-file runtime: `perseus.py` (`pyyaml` only).
|
|
95
|
+
|
|
96
|
+
## [0.8.x and earlier]
|
|
97
|
+
|
|
98
|
+
Pre-Phase 17 history is tracked in `tasks/` (closed task files) and `HANDOFF.md`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Thomas Connally
|
|
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.
|