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.
Files changed (39) hide show
  1. perseus_ctx-1.0.0/CHANGELOG.md +98 -0
  2. perseus_ctx-1.0.0/LICENSE +21 -0
  3. perseus_ctx-1.0.0/MANIFEST.in +4 -0
  4. perseus_ctx-1.0.0/PKG-INFO +719 -0
  5. perseus_ctx-1.0.0/README.md +690 -0
  6. perseus_ctx-1.0.0/VERSION +1 -0
  7. perseus_ctx-1.0.0/perseus.py +9986 -0
  8. perseus_ctx-1.0.0/perseus_ctx.egg-info/PKG-INFO +719 -0
  9. perseus_ctx-1.0.0/perseus_ctx.egg-info/SOURCES.txt +37 -0
  10. perseus_ctx-1.0.0/perseus_ctx.egg-info/dependency_links.txt +1 -0
  11. perseus_ctx-1.0.0/perseus_ctx.egg-info/entry_points.txt +2 -0
  12. perseus_ctx-1.0.0/perseus_ctx.egg-info/requires.txt +1 -0
  13. perseus_ctx-1.0.0/perseus_ctx.egg-info/top_level.txt +1 -0
  14. perseus_ctx-1.0.0/pyproject.toml +40 -0
  15. perseus_ctx-1.0.0/setup.cfg +4 -0
  16. perseus_ctx-1.0.0/tests/test_adapter_conformance.py +105 -0
  17. perseus_ctx-1.0.0/tests/test_agent_inbox_template.py +180 -0
  18. perseus_ctx-1.0.0/tests/test_audit_log.py +246 -0
  19. perseus_ctx-1.0.0/tests/test_checkpoint_agora_health.py +340 -0
  20. perseus_ctx-1.0.0/tests/test_compat_migration.py +233 -0
  21. perseus_ctx-1.0.0/tests/test_container.py +103 -0
  22. perseus_ctx-1.0.0/tests/test_doctor.py +169 -0
  23. perseus_ctx-1.0.0/tests/test_golden.py +122 -0
  24. perseus_ctx-1.0.0/tests/test_installer.py +116 -0
  25. perseus_ctx-1.0.0/tests/test_llm.py +192 -0
  26. perseus_ctx-1.0.0/tests/test_lsp.py +472 -0
  27. perseus_ctx-1.0.0/tests/test_memory.py +362 -0
  28. perseus_ctx-1.0.0/tests/test_memory_federation.py +430 -0
  29. perseus_ctx-1.0.0/tests/test_oracle.py +697 -0
  30. perseus_ctx-1.0.0/tests/test_perf_budgets.py +216 -0
  31. perseus_ctx-1.0.0/tests/test_permission_profiles.py +254 -0
  32. perseus_ctx-1.0.0/tests/test_platform_misc.py +562 -0
  33. perseus_ctx-1.0.0/tests/test_redaction.py +279 -0
  34. perseus_ctx-1.0.0/tests/test_release.py +263 -0
  35. perseus_ctx-1.0.0/tests/test_renderer.py +793 -0
  36. perseus_ctx-1.0.0/tests/test_serve.py +376 -0
  37. perseus_ctx-1.0.0/tests/test_synthesis.py +479 -0
  38. perseus_ctx-1.0.0/tests/test_vscode_extension.py +59 -0
  39. 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.
@@ -0,0 +1,4 @@
1
+ include README.md
2
+ include LICENSE
3
+ include VERSION
4
+ include CHANGELOG.md