chupa 0.1.2__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 (77) hide show
  1. chupa-0.1.2/LICENSE +8 -0
  2. chupa-0.1.2/PKG-INFO +42 -0
  3. chupa-0.1.2/README.md +31 -0
  4. chupa-0.1.2/chupa/__init__.py +1 -0
  5. chupa-0.1.2/chupa/__main__.py +827 -0
  6. chupa-0.1.2/chupa/artifacts.py +592 -0
  7. chupa-0.1.2/chupa/ask.py +34 -0
  8. chupa-0.1.2/chupa/audit.py +143 -0
  9. chupa-0.1.2/chupa/author.py +330 -0
  10. chupa-0.1.2/chupa/baseline.py +76 -0
  11. chupa-0.1.2/chupa/box.py +391 -0
  12. chupa-0.1.2/chupa/caps.py +104 -0
  13. chupa-0.1.2/chupa/checkpoint.py +141 -0
  14. chupa-0.1.2/chupa/config.py +450 -0
  15. chupa-0.1.2/chupa/control.py +291 -0
  16. chupa-0.1.2/chupa/covgate.py +156 -0
  17. chupa-0.1.2/chupa/covmap.py +39 -0
  18. chupa-0.1.2/chupa/daemon.py +581 -0
  19. chupa-0.1.2/chupa/doctor.py +65 -0
  20. chupa-0.1.2/chupa/drain.py +658 -0
  21. chupa-0.1.2/chupa/driver.py +570 -0
  22. chupa-0.1.2/chupa/effects.py +71 -0
  23. chupa-0.1.2/chupa/enginelog.py +39 -0
  24. chupa-0.1.2/chupa/flake.py +200 -0
  25. chupa-0.1.2/chupa/gates.py +155 -0
  26. chupa-0.1.2/chupa/git.py +172 -0
  27. chupa-0.1.2/chupa/graph.py +59 -0
  28. chupa-0.1.2/chupa/heartbeat.py +28 -0
  29. chupa-0.1.2/chupa/hostfiles.py +176 -0
  30. chupa-0.1.2/chupa/inbox.py +141 -0
  31. chupa-0.1.2/chupa/journal.py +281 -0
  32. chupa-0.1.2/chupa/llm.py +94 -0
  33. chupa-0.1.2/chupa/llmeffect.py +37 -0
  34. chupa-0.1.2/chupa/lockfile.py +87 -0
  35. chupa-0.1.2/chupa/merge.py +390 -0
  36. chupa-0.1.2/chupa/mergequeue.py +379 -0
  37. chupa-0.1.2/chupa/notify.py +145 -0
  38. chupa-0.1.2/chupa/observe.py +652 -0
  39. chupa-0.1.2/chupa/policy.py +70 -0
  40. chupa-0.1.2/chupa/providers.py +629 -0
  41. chupa-0.1.2/chupa/reconcile.py +59 -0
  42. chupa-0.1.2/chupa/redact.py +30 -0
  43. chupa-0.1.2/chupa/requisition.py +199 -0
  44. chupa-0.1.2/chupa/restart.py +57 -0
  45. chupa-0.1.2/chupa/retro.py +371 -0
  46. chupa-0.1.2/chupa/rework.py +263 -0
  47. chupa-0.1.2/chupa/runner.py +636 -0
  48. chupa-0.1.2/chupa/scheduler.py +88 -0
  49. chupa-0.1.2/chupa/scorecard.py +98 -0
  50. chupa-0.1.2/chupa/seams.py +250 -0
  51. chupa-0.1.2/chupa/serve.py +667 -0
  52. chupa-0.1.2/chupa/specs/__init__.py +209 -0
  53. chupa-0.1.2/chupa/specs/ask/box.md +4 -0
  54. chupa-0.1.2/chupa/specs/ask/diagnose.md +1 -0
  55. chupa-0.1.2/chupa/specs/ask/review.md +1 -0
  56. chupa-0.1.2/chupa/specs/ask/running.md +1 -0
  57. chupa-0.1.2/chupa/specs/author.md +48 -0
  58. chupa-0.1.2/chupa/specs/diagnose.md +68 -0
  59. chupa-0.1.2/chupa/specs/implement.md +112 -0
  60. chupa-0.1.2/chupa/specs/requisition_review.md +91 -0
  61. chupa-0.1.2/chupa/specs/retro.md +44 -0
  62. chupa-0.1.2/chupa/specs/review.md +105 -0
  63. chupa-0.1.2/chupa/specs/rework.md +90 -0
  64. chupa-0.1.2/chupa/specs/triage.md +65 -0
  65. chupa-0.1.2/chupa/stages.py +1591 -0
  66. chupa-0.1.2/chupa/stats.py +212 -0
  67. chupa-0.1.2/chupa/status.py +142 -0
  68. chupa-0.1.2/chupa/storm.py +188 -0
  69. chupa-0.1.2/chupa/testguard.py +96 -0
  70. chupa-0.1.2/chupa/testreport.py +60 -0
  71. chupa-0.1.2/chupa/thresh.py +258 -0
  72. chupa-0.1.2/chupa/tickets.py +664 -0
  73. chupa-0.1.2/chupa/timers.py +125 -0
  74. chupa-0.1.2/chupa/triage.py +398 -0
  75. chupa-0.1.2/chupa/watchdog.py +262 -0
  76. chupa-0.1.2/chupa/watcher.py +87 -0
  77. chupa-0.1.2/pyproject.toml +61 -0
chupa-0.1.2/LICENSE ADDED
@@ -0,0 +1,8 @@
1
+ Copyright (c) 2026 Richard Protus. All rights reserved.
2
+
3
+ You may install and use this software. You may not copy, modify,
4
+ redistribute, or sublicense it.
5
+
6
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. IN NO
7
+ EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
8
+ LIABILITY ARISING FROM ITS USE.
chupa-0.1.2/PKG-INFO ADDED
@@ -0,0 +1,42 @@
1
+ Metadata-Version: 2.4
2
+ Name: chupa
3
+ Version: 0.1.2
4
+ Summary: Continuously running orchestration engine that authors and runs tickets against host repos.
5
+ License-Expression: LicenseRef-Proprietary
6
+ License-File: LICENSE
7
+ Requires-Dist: pydantic>=2.13.5
8
+ Requires-Dist: pyyaml>=6.0.3
9
+ Requires-Python: >=3.14
10
+ Description-Content-Type: text/markdown
11
+
12
+ # chupa
13
+
14
+ chupa runs tickets against a git repository: Implement writes the change on a branch, Check runs
15
+ mechanical gates, Review has a model judge the diff, and Merge squashes it onto `main`. Failures
16
+ are harvested, diagnosed, retried within caps, or held for a human. chupa develops itself: this
17
+ repo is both the engine and its first host.
18
+
19
+ Install with `uv tool install chupa`, then run `chupa <verb>`.
20
+
21
+ ## Docs
22
+
23
+ - `docs/how-chupa-works.md`: how chupa behaves today. Tickets keep it current.
24
+ - `docs/host-contract.md`: the config schema and host-facing contract.
25
+ - `docs/host-authoring.md`: what to write in a ticket.
26
+
27
+ `CHUPA_PLAN.md` is the frozen record of how chupa was first built. It is history, not a reference.
28
+
29
+ ## Commands
30
+
31
+ In this repo, use `./dev.py`:
32
+
33
+ ./dev.py new STEM [--kind feature|bug|chore] # write a ticket skeleton
34
+ ./dev.py lint [STEM...] # check tickets
35
+ ./dev.py review STEM... # review tickets against merged code
36
+ ./dev.py drain # run every eligible ticket to quiescence
37
+ ./dev.py status # what ran, what is held, total spend
38
+ ./dev.py confirm STEM / ./dev.py reject STEM # keep or kill a held ticket
39
+ ./dev.py kill # stop a running drain
40
+ ./dev.py test [args] # run the test suite
41
+
42
+ Every chupa verb is listed in `docs/how-chupa-works.md` section 2.
chupa-0.1.2/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # chupa
2
+
3
+ chupa runs tickets against a git repository: Implement writes the change on a branch, Check runs
4
+ mechanical gates, Review has a model judge the diff, and Merge squashes it onto `main`. Failures
5
+ are harvested, diagnosed, retried within caps, or held for a human. chupa develops itself: this
6
+ repo is both the engine and its first host.
7
+
8
+ Install with `uv tool install chupa`, then run `chupa <verb>`.
9
+
10
+ ## Docs
11
+
12
+ - `docs/how-chupa-works.md`: how chupa behaves today. Tickets keep it current.
13
+ - `docs/host-contract.md`: the config schema and host-facing contract.
14
+ - `docs/host-authoring.md`: what to write in a ticket.
15
+
16
+ `CHUPA_PLAN.md` is the frozen record of how chupa was first built. It is history, not a reference.
17
+
18
+ ## Commands
19
+
20
+ In this repo, use `./dev.py`:
21
+
22
+ ./dev.py new STEM [--kind feature|bug|chore] # write a ticket skeleton
23
+ ./dev.py lint [STEM...] # check tickets
24
+ ./dev.py review STEM... # review tickets against merged code
25
+ ./dev.py drain # run every eligible ticket to quiescence
26
+ ./dev.py status # what ran, what is held, total spend
27
+ ./dev.py confirm STEM / ./dev.py reject STEM # keep or kill a held ticket
28
+ ./dev.py kill # stop a running drain
29
+ ./dev.py test [args] # run the test suite
30
+
31
+ Every chupa verb is listed in `docs/how-chupa-works.md` section 2.
@@ -0,0 +1 @@
1
+ """chupa: orchestration engine that authors and runs tickets against host repos."""