@homericintelligence/athena-opencode 0.5.0 → 0.5.2

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 (146) hide show
  1. package/README.md +30 -17
  2. package/package.json +2 -2
  3. package/plugin.js +20 -5
  4. package/skills/TECHNICAL_ENGLISH.md +78 -0
  5. package/skills/_cli.py +33 -22
  6. package/skills/_plugin.json +1 -0
  7. package/skills/_support/docs/dependency-resolution.md +203 -0
  8. package/skills/_support/docs/policies/development.md +131 -0
  9. package/skills/_support/docs/policies/evidence-integrity.md +40 -0
  10. package/skills/_support/docs/principles/README.md +565 -0
  11. package/skills/_support/docs/principles/details/p001-kiss.md +114 -0
  12. package/skills/_support/docs/principles/details/p002-yagni.md +109 -0
  13. package/skills/_support/docs/principles/details/p003-dry.md +126 -0
  14. package/skills/_support/docs/principles/details/p004-solid.md +165 -0
  15. package/skills/_support/docs/principles/details/p005-modularity.md +123 -0
  16. package/skills/_support/docs/principles/details/p006-principle-of-least-astonishment.md +115 -0
  17. package/skills/_support/docs/principles/details/p007-subtraction-over-addition.md +113 -0
  18. package/skills/_support/docs/principles/details/p008-understand-before-subtracting.md +115 -0
  19. package/skills/_support/docs/principles/details/p009-general-mechanisms-over-special-cases.md +108 -0
  20. package/skills/_support/docs/principles/details/p010-scope-fidelity.md +117 -0
  21. package/skills/_support/docs/principles/details/p011-minimal-coherent-change.md +128 -0
  22. package/skills/_support/docs/principles/details/p012-evidence-before-modification.md +115 -0
  23. package/skills/_support/docs/principles/details/p013-avoid-hasty-abstractions.md +112 -0
  24. package/skills/_support/docs/principles/details/p014-preserve-unrequested-behavior.md +110 -0
  25. package/skills/_support/docs/principles/details/p015-architecture-conformance.md +124 -0
  26. package/skills/_support/docs/principles/details/p016-separation-of-concerns.md +125 -0
  27. package/skills/_support/docs/principles/details/p017-high-cohesion-low-coupling.md +130 -0
  28. package/skills/_support/docs/principles/details/p018-information-hiding.md +128 -0
  29. package/skills/_support/docs/principles/details/p019-explicit-contracts.md +134 -0
  30. package/skills/_support/docs/principles/details/p020-executable-architecture.md +130 -0
  31. package/skills/_support/docs/principles/details/p021-evolutionary-and-reversible-design.md +126 -0
  32. package/skills/_support/docs/principles/details/p022-test-behavior-not-implementation.md +129 -0
  33. package/skills/_support/docs/principles/details/p023-parameterized-table-driven-testing.md +129 -0
  34. package/skills/_support/docs/principles/details/p024-boundary-value-testing.md +128 -0
  35. package/skills/_support/docs/principles/details/p025-property-based-testing-for-invariants.md +133 -0
  36. package/skills/_support/docs/principles/details/p026-regression-before-repair.md +134 -0
  37. package/skills/_support/docs/principles/details/p027-deterministic-and-hermetic-tests.md +128 -0
  38. package/skills/_support/docs/principles/details/p028-test-failure-paths.md +133 -0
  39. package/skills/_support/docs/principles/details/p029-generalize-error-policy-preserve-specific-cause.md +131 -0
  40. package/skills/_support/docs/principles/details/p030-nearest-responsible-error-boundary.md +133 -0
  41. package/skills/_support/docs/principles/details/p031-propagate-rather-than-swallow.md +131 -0
  42. package/skills/_support/docs/principles/details/p032-handle-once-preserve-causality.md +137 -0
  43. package/skills/_support/docs/principles/details/p033-state-safe-failure-semantics.md +140 -0
  44. package/skills/_support/docs/principles/details/p034-fail-fast.md +132 -0
  45. package/skills/_support/docs/principles/details/p035-fail-secure-fail-closed.md +137 -0
  46. package/skills/_support/docs/principles/details/p036-graceful-degradation.md +137 -0
  47. package/skills/_support/docs/principles/details/p037-idempotency-before-retry.md +139 -0
  48. package/skills/_support/docs/principles/details/p038-bounded-retry.md +145 -0
  49. package/skills/_support/docs/principles/details/p039-bounded-waiting.md +151 -0
  50. package/skills/_support/docs/principles/details/p040-bounded-resources.md +138 -0
  51. package/skills/_support/docs/principles/details/p041-backpressure-and-load-shedding.md +141 -0
  52. package/skills/_support/docs/principles/details/p042-fault-isolation-bulkheads.md +140 -0
  53. package/skills/_support/docs/principles/details/p043-circuit-breakers.md +148 -0
  54. package/skills/_support/docs/principles/details/p044-atomicity-where-possible.md +141 -0
  55. package/skills/_support/docs/principles/details/p045-compensation-where-atomicity-is-impossible.md +163 -0
  56. package/skills/_support/docs/principles/details/p046-resumability.md +138 -0
  57. package/skills/_support/docs/principles/details/p047-observability-is-part-of-correctness.md +134 -0
  58. package/skills/_support/docs/principles/details/p048-secure-by-design.md +132 -0
  59. package/skills/_support/docs/principles/details/p049-secure-by-default.md +126 -0
  60. package/skills/_support/docs/principles/details/p050-least-privilege.md +123 -0
  61. package/skills/_support/docs/principles/details/p051-complete-mediation.md +124 -0
  62. package/skills/_support/docs/principles/details/p052-separation-of-duties.md +129 -0
  63. package/skills/_support/docs/principles/details/p053-validate-at-trust-boundaries.md +126 -0
  64. package/skills/_support/docs/principles/details/p054-defense-in-depth.md +135 -0
  65. package/skills/_support/docs/principles/details/p055-minimize-attack-surface.md +133 -0
  66. package/skills/_support/docs/principles/details/p056-secrets-stay-out-of-code-and-context.md +137 -0
  67. package/skills/_support/docs/principles/details/p057-supply-chain-integrity.md +135 -0
  68. package/skills/_support/docs/principles/details/p058-bounded-agent-authority.md +137 -0
  69. package/skills/_support/docs/principles/details/p059-data-is-not-instruction.md +130 -0
  70. package/skills/_support/docs/principles/details/p060-constrain-sub-agents.md +136 -0
  71. package/skills/_support/docs/principles/details/p061-separate-decision-from-high-impact-execution.md +131 -0
  72. package/skills/_support/docs/principles/details/p062-human-approval-for-irreversible-or-high-risk-actions.md +129 -0
  73. package/skills/_support/docs/principles/details/p063-requirement-to-code-traceability.md +116 -0
  74. package/skills/_support/docs/principles/details/p064-requirement-to-test-traceability.md +116 -0
  75. package/skills/_support/docs/principles/details/p065-verify-before-claiming-completion.md +131 -0
  76. package/skills/_support/docs/principles/details/p066-preserve-existing-work.md +114 -0
  77. package/skills/_support/docs/principles/details/p067-no-test-cheating.md +126 -0
  78. package/skills/_support/docs/principles/details/p068-no-validation-bypass.md +119 -0
  79. package/skills/_support/docs/principles/details/p069-independent-review-for-high-risk-changes.md +129 -0
  80. package/skills/_support/docs/principles/details/p070-code-health-must-not-regress.md +116 -0
  81. package/skills/_support/docs/principles/details/p071-consistency-over-personal-preference.md +117 -0
  82. package/skills/_support/docs/principles/details/p072-technical-evidence-over-preference.md +122 -0
  83. package/skills/_support/docs/principles/details/p073-optimize-only-with-evidence.md +123 -0
  84. package/skills/_support/docs/principles/details/p074-prefer-existing-mechanisms.md +121 -0
  85. package/skills/_support/docs/principles/details/p075-make-invalid-states-hard-to-represent.md +128 -0
  86. package/skills/_support/docs/principles/details/p076-parse-then-validate-then-operate.md +133 -0
  87. package/skills/_support/docs/principles/details/p077-separate-policy-from-mechanism.md +112 -0
  88. package/skills/_support/docs/principles/details/p078-single-source-of-truth.md +131 -0
  89. package/skills/_support/docs/principles/details/p079-explicit-ownership-and-lifetimes.md +124 -0
  90. package/skills/_support/docs/principles/details/p080-make-concurrency-deliberate.md +122 -0
  91. package/skills/_support/docs/principles/details/p081-forward-progress-with-safety.md +125 -0
  92. package/skills/_support/docs/principles/details/p082-design-for-cancellation.md +133 -0
  93. package/skills/_support/docs/principles/details/p083-irreversible-actions-last.md +124 -0
  94. package/skills/_support/docs/principles/details/p084-prefer-local-reasoning.md +131 -0
  95. package/skills/_support/docs/principles/details/p085-explicit-is-better-than-implicit.md +123 -0
  96. package/skills/_support/docs/principles/details/p086-readability-counts.md +113 -0
  97. package/skills/_support/docs/principles/details/p087-comments-explain-why-code-explains-what.md +120 -0
  98. package/skills/_support/docs/principles/details/p088-delete-dead-code.md +125 -0
  99. package/skills/_support/docs/principles/details/p089-delete-obsolete-configuration-and-dependencies.md +125 -0
  100. package/skills/_support/docs/principles/details/p090-prefer-negative-code.md +134 -0
  101. package/skills/_support/docs/principles/details/p091-test-driven-development.md +149 -0
  102. package/skills/_support/docs/review/README.md +63 -0
  103. package/skills/_support/docs/review/behavior-first-testing.md +78 -0
  104. package/skills/_support/docs/review/common.md +400 -0
  105. package/skills/_support/docs/review/design-docs.md +74 -0
  106. package/skills/_support/docs/review/issue-planning.md +247 -0
  107. package/skills/_support/docs/review/language-routing.md +141 -0
  108. package/skills/_support/docs/review/repository-scorecard.md +170 -0
  109. package/skills/advise/SKILL.md +108 -74
  110. package/skills/advise/scripts/list_retrievable_skills.py +20 -8
  111. package/skills/advise/scripts/resolve_knowledge_checkout.py +533 -0
  112. package/skills/brainstorm/SKILL.md +163 -127
  113. package/skills/change-review/SKILL.md +91 -71
  114. package/skills/change-review/references/scope-resolution.md +69 -46
  115. package/skills/change-review/scripts/resolve_scope.py +144 -84
  116. package/skills/finalize-plan/SKILL.md +205 -139
  117. package/skills/git-worktrees/SKILL.md +100 -80
  118. package/skills/git-worktrees/scripts/prepare_worktree.py +34 -15
  119. package/skills/issue-review/SKILL.md +136 -79
  120. package/skills/learn/SKILL.md +359 -192
  121. package/skills/myrmidon-swarm/SKILL.md +126 -86
  122. package/skills/plan-issue/SKILL.md +122 -81
  123. package/skills/pr-review/SKILL.md +184 -116
  124. package/skills/pr-review/references/criteria.md +61 -37
  125. package/skills/pr-review/references/delivery.md +277 -101
  126. package/skills/pr-review/references/evidence.md +346 -149
  127. package/skills/pr-review/references/prevalidated.md +93 -61
  128. package/skills/pr-review/scripts/collect_evidence.py +312 -162
  129. package/skills/pr-review/scripts/deliver_go.py +701 -0
  130. package/skills/pr-review/scripts/diff_context.py +34 -15
  131. package/skills/pr-review/scripts/materialize_snapshot.py +141 -130
  132. package/skills/pr-review/scripts/pr_identity.py +27 -15
  133. package/skills/pr-review/scripts/resolve_pr.py +77 -41
  134. package/skills/realign/SKILL.md +516 -0
  135. package/skills/realign/references/aislop-integration.md +215 -0
  136. package/skills/realign/references/architecture-and-structure.md +271 -0
  137. package/skills/realign/references/control-flow-and-errors.md +344 -0
  138. package/skills/realign/references/tests-dependencies-and-security.md +261 -0
  139. package/skills/realign/scripts/resolve_assessment.py +1525 -0
  140. package/skills/repo-review/SKILL.md +202 -131
  141. package/skills/simplify/SKILL.md +174 -0
  142. package/skills/systematic-debugging/SKILL.md +212 -192
  143. package/skills/systematic-debugging/scripts/repository_evidence.py +26 -8
  144. package/skills/test-driven-development/SKILL.md +126 -96
  145. package/skills/tidy/SKILL.md +104 -59
  146. package/skills/tidy/scripts/run_tidy.py +54 -6
@@ -0,0 +1,131 @@
1
+ # Development and delivery policy
2
+
3
+ ## Technical English
4
+
5
+ Apply the [ASD-STE100 technical-English policy](../../../TECHNICAL_ENGLISH.md) to all English technical
6
+ prose in this document. Do not remove or weaken a technical, safety, security, evidence, permission,
7
+ or failure requirement to make text shorter.
8
+
9
+ ## Git
10
+
11
+ - `main` is protected. Send all changes through short-lived feature branches and pull requests.
12
+ - Use Conventional Commit subjects.
13
+ - Sign each commit cryptographically. Include a Developer Certificate of Origin (DCO)
14
+ `Signed-off-by` trailer.
15
+ - Do not use `--no-verify`.
16
+ - Do not use an unguarded force-push.
17
+ - If a workflow requires rewritten history, you can update a feature branch with
18
+ `--force-with-lease --force-if-includes`.
19
+ - Never force-push a protected branch or a default branch.
20
+ - Stage intentional paths. Do not include unrelated user changes in a commit.
21
+ - Accepted architecture decision records (ADRs) are append-only. To change an accepted decision,
22
+ write a new ADR that links to the prior decision.
23
+
24
+ ## Pull requests
25
+
26
+ - Target `main`.
27
+ - Keep the scope aligned with one issue or one coherent maintenance objective.
28
+ - Before you create a pull request, run each new or changed test with a focused local command.
29
+ Confirm that the command selects that test and that the test passes.
30
+ - Continuous integration and continuous delivery (CI/CD) workflows, not pre-commit, run the
31
+ automatic pytest tiers. Focused local validation does not replace CI/CD validation.
32
+ - If an issue tracks the work, put `Closes #N` on its own line in the body.
33
+ - Run required checks against the current head revision. The checks must be successful, current, and
34
+ not incorrectly skipped.
35
+ - Do not say that a check passed in the PR description unless the description can cite the current
36
+ head receipt that supports the claim.
37
+ - Before auto-merge or merge, get an independent strict review.
38
+ - Use a merge method that the repository supports. Do not guess or impose an organization-wide
39
+ fallback.
40
+
41
+ ## Safety
42
+
43
+ - Never commit credentials, tokens, `.env` files, private keys, or personal data.
44
+ - Get explicit user authority before a filesystem-destructive command or before you discard changes.
45
+ - Never use `git reset --hard`.
46
+ - You can use constructive Git, GitHub command-line interface (CLI), and Hephaestus operations when
47
+ both conditions are true:
48
+
49
+ - The requested task permits the operation.
50
+ - The repository contract permits the operation.
51
+
52
+ - For branch and worktree cleanup, prefer guarded Hephaestus tools.
53
+ - Preserve unrelated worktree changes. If safe isolation is not possible, stop.
54
+ - Never bypass a failed validation, security, review, or policy gate.
55
+ - Apply the canonical [engineering principles](../principles/README.md) as decision rules. Select only
56
+ the principles that apply to the change. For routine Athena development, use these groups:
57
+
58
+ - Bind scope and design choices to [P001](../principles/README.md#p001),
59
+ [P002](../principles/README.md#p002), and [P010](../principles/README.md#p010).
60
+ - Keep one authority and one state owner under [P003](../principles/README.md#p003) and
61
+ [P078](../principles/README.md#p078).
62
+ - Follow the established architecture and contracts under
63
+ [P004](../principles/README.md#p004), [P005](../principles/README.md#p005),
64
+ [P006](../principles/README.md#p006), [P015](../principles/README.md#p015), and
65
+ [P019](../principles/README.md#p019).
66
+ - Verify changed behavior under [P022](../principles/README.md#p022),
67
+ [P026](../principles/README.md#p026), [P064](../principles/README.md#p064),
68
+ [P065](../principles/README.md#p065), and [P091](../principles/README.md#p091).
69
+
70
+ - Repository, security, evidence, user, and system contracts take precedence over a general
71
+ principle. A principle never grants authority. It never expands the requested scope or weakens a
72
+ stricter safety or validation rule.
73
+
74
+ ## Durable-artifact and test policy
75
+
76
+ - Create or change an artifact only when it has one or more of these direct purposes:
77
+
78
+ - implement the repository product;
79
+ - verify the repository product;
80
+ - distribute the repository product;
81
+ - operate the repository product;
82
+ - secure the repository product; or
83
+ - explain the repository product.
84
+
85
+ - Do not generate documents or unrelated files only to make the repository appear complete.
86
+ - Do not introduce these manually maintained artifacts when source discovery or an existing
87
+ authority can give the information:
88
+
89
+ - changelogs;
90
+ - generated documents;
91
+ - duplicated catalogs;
92
+ - registries;
93
+ - inventories;
94
+ - counts; or
95
+ - file lists.
96
+
97
+ - Add such an artifact only when a current consumer requires it. The owner and update method must be
98
+ explicit.
99
+ - The marked development-principles block in root `AGENTS.md` is generated data that the fleet
100
+ agent-contract validator consumes. `docs/principles/README.md` owns its content. The
101
+ agent-contract renderer owns its update method. Do not edit the block manually.
102
+ - Use this sequence for each change: remove, reuse, consolidate, simplify, then add. Add only when
103
+ the earlier choices cannot meet the requirement.
104
+ - Tests must verify computable behavior, data contracts, security properties, or executable artifact
105
+ structure.
106
+ - Do not test prose wording, headings, paragraph presence, document counts, or duplicated text
107
+ strings.
108
+ - Exact machine-consumed fields are data contracts, not editorial prose. This exception includes
109
+ the root `CLAUDE.md` pointer and the generated development-principles block.
110
+ - Markdown lint and link checks can verify document syntax and link resolution. They must not freeze
111
+ editorial content.
112
+ - Prefer stable public outcomes to these types of assertions:
113
+
114
+ - implementation-detail assertions;
115
+ - snapshot assertions;
116
+ - timing assertions;
117
+ - network assertions;
118
+ - ambient-environment assertions; or
119
+ - ordering assertions.
120
+
121
+ - A test must fail for the product defect that it claims to find.
122
+ - For document-only changes, use the existing Markdown lint and link checks. Do not create a new test
123
+ harness or application code only to test documents.
124
+
125
+ ## Human review routing
126
+
127
+ Human review and Code Owner review are optional for Athena changes. They are not required.
128
+ `CODEOWNERS` records advisory ownership. The baseline ruleset does not require an approval count or a
129
+ Code Owner approval. The baseline ruleset still requires extra approval for unattributed changes.
130
+ Workflow, release, dependency, and security-control changes remain subject to the required checks
131
+ and requested-scope boundaries of the repository.
@@ -0,0 +1,40 @@
1
+ # Evidence integrity policy
2
+
3
+ Apply the [ASD-STE100 technical-English policy](../../../TECHNICAL_ENGLISH.md) to all English technical
4
+ prose in this document.
5
+
6
+ This policy is binding on each human and agent contribution to Athena.
7
+
8
+ The governing rule has two parts: **A truthful failure is acceptable. Invented success is not
9
+ acceptable.**
10
+
11
+ 1. Do not create or change a log, metric, benchmark, test result, or release result to represent a
12
+ run that did not occur.
13
+ 2. Do not treat a committed result file as independent evidence.
14
+ 3. Prefer a continuous integration (CI) artifact or an independent run of the command from the
15
+ reviewed revision.
16
+ 4. Bind each claim to this information:
17
+
18
+ - a reproducible command;
19
+ - an immutable revision;
20
+ - the relevant environment;
21
+ - the exit status; and
22
+ - the unedited output.
23
+
24
+ 5. If evidence collection cannot finish in the active session, separate it from the implementation.
25
+ 6. If evidence collection cannot finish in the active session, supply the runnable command.
26
+ 7. If evidence collection cannot finish in the active session, report accurately that the run is
27
+ not complete.
28
+ 8. If you cannot get a measurement, report this information:
29
+
30
+ - what you tried;
31
+ - why the attempt failed or timed out; and
32
+ - the action that can get the measurement.
33
+
34
+ 9. Do not use a plausible estimate as a fact when a measurement is not available.
35
+ 10. If the path that produces the evidence cannot emit the claimed format, reviewers must reject the
36
+ evidence.
37
+ 11. If the timestamp, revision, environment, or CI identity cannot be reconciled with the claim,
38
+ reviewers must reject the evidence.
39
+
40
+ The `repo-review` and `pr-review` skills enforce this policy.