@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.
- package/README.md +30 -17
- package/package.json +2 -2
- package/plugin.js +20 -5
- package/skills/TECHNICAL_ENGLISH.md +78 -0
- package/skills/_cli.py +33 -22
- package/skills/_plugin.json +1 -0
- package/skills/_support/docs/dependency-resolution.md +203 -0
- package/skills/_support/docs/policies/development.md +131 -0
- package/skills/_support/docs/policies/evidence-integrity.md +40 -0
- package/skills/_support/docs/principles/README.md +565 -0
- package/skills/_support/docs/principles/details/p001-kiss.md +114 -0
- package/skills/_support/docs/principles/details/p002-yagni.md +109 -0
- package/skills/_support/docs/principles/details/p003-dry.md +126 -0
- package/skills/_support/docs/principles/details/p004-solid.md +165 -0
- package/skills/_support/docs/principles/details/p005-modularity.md +123 -0
- package/skills/_support/docs/principles/details/p006-principle-of-least-astonishment.md +115 -0
- package/skills/_support/docs/principles/details/p007-subtraction-over-addition.md +113 -0
- package/skills/_support/docs/principles/details/p008-understand-before-subtracting.md +115 -0
- package/skills/_support/docs/principles/details/p009-general-mechanisms-over-special-cases.md +108 -0
- package/skills/_support/docs/principles/details/p010-scope-fidelity.md +117 -0
- package/skills/_support/docs/principles/details/p011-minimal-coherent-change.md +128 -0
- package/skills/_support/docs/principles/details/p012-evidence-before-modification.md +115 -0
- package/skills/_support/docs/principles/details/p013-avoid-hasty-abstractions.md +112 -0
- package/skills/_support/docs/principles/details/p014-preserve-unrequested-behavior.md +110 -0
- package/skills/_support/docs/principles/details/p015-architecture-conformance.md +124 -0
- package/skills/_support/docs/principles/details/p016-separation-of-concerns.md +125 -0
- package/skills/_support/docs/principles/details/p017-high-cohesion-low-coupling.md +130 -0
- package/skills/_support/docs/principles/details/p018-information-hiding.md +128 -0
- package/skills/_support/docs/principles/details/p019-explicit-contracts.md +134 -0
- package/skills/_support/docs/principles/details/p020-executable-architecture.md +130 -0
- package/skills/_support/docs/principles/details/p021-evolutionary-and-reversible-design.md +126 -0
- package/skills/_support/docs/principles/details/p022-test-behavior-not-implementation.md +129 -0
- package/skills/_support/docs/principles/details/p023-parameterized-table-driven-testing.md +129 -0
- package/skills/_support/docs/principles/details/p024-boundary-value-testing.md +128 -0
- package/skills/_support/docs/principles/details/p025-property-based-testing-for-invariants.md +133 -0
- package/skills/_support/docs/principles/details/p026-regression-before-repair.md +134 -0
- package/skills/_support/docs/principles/details/p027-deterministic-and-hermetic-tests.md +128 -0
- package/skills/_support/docs/principles/details/p028-test-failure-paths.md +133 -0
- package/skills/_support/docs/principles/details/p029-generalize-error-policy-preserve-specific-cause.md +131 -0
- package/skills/_support/docs/principles/details/p030-nearest-responsible-error-boundary.md +133 -0
- package/skills/_support/docs/principles/details/p031-propagate-rather-than-swallow.md +131 -0
- package/skills/_support/docs/principles/details/p032-handle-once-preserve-causality.md +137 -0
- package/skills/_support/docs/principles/details/p033-state-safe-failure-semantics.md +140 -0
- package/skills/_support/docs/principles/details/p034-fail-fast.md +132 -0
- package/skills/_support/docs/principles/details/p035-fail-secure-fail-closed.md +137 -0
- package/skills/_support/docs/principles/details/p036-graceful-degradation.md +137 -0
- package/skills/_support/docs/principles/details/p037-idempotency-before-retry.md +139 -0
- package/skills/_support/docs/principles/details/p038-bounded-retry.md +145 -0
- package/skills/_support/docs/principles/details/p039-bounded-waiting.md +151 -0
- package/skills/_support/docs/principles/details/p040-bounded-resources.md +138 -0
- package/skills/_support/docs/principles/details/p041-backpressure-and-load-shedding.md +141 -0
- package/skills/_support/docs/principles/details/p042-fault-isolation-bulkheads.md +140 -0
- package/skills/_support/docs/principles/details/p043-circuit-breakers.md +148 -0
- package/skills/_support/docs/principles/details/p044-atomicity-where-possible.md +141 -0
- package/skills/_support/docs/principles/details/p045-compensation-where-atomicity-is-impossible.md +163 -0
- package/skills/_support/docs/principles/details/p046-resumability.md +138 -0
- package/skills/_support/docs/principles/details/p047-observability-is-part-of-correctness.md +134 -0
- package/skills/_support/docs/principles/details/p048-secure-by-design.md +132 -0
- package/skills/_support/docs/principles/details/p049-secure-by-default.md +126 -0
- package/skills/_support/docs/principles/details/p050-least-privilege.md +123 -0
- package/skills/_support/docs/principles/details/p051-complete-mediation.md +124 -0
- package/skills/_support/docs/principles/details/p052-separation-of-duties.md +129 -0
- package/skills/_support/docs/principles/details/p053-validate-at-trust-boundaries.md +126 -0
- package/skills/_support/docs/principles/details/p054-defense-in-depth.md +135 -0
- package/skills/_support/docs/principles/details/p055-minimize-attack-surface.md +133 -0
- package/skills/_support/docs/principles/details/p056-secrets-stay-out-of-code-and-context.md +137 -0
- package/skills/_support/docs/principles/details/p057-supply-chain-integrity.md +135 -0
- package/skills/_support/docs/principles/details/p058-bounded-agent-authority.md +137 -0
- package/skills/_support/docs/principles/details/p059-data-is-not-instruction.md +130 -0
- package/skills/_support/docs/principles/details/p060-constrain-sub-agents.md +136 -0
- package/skills/_support/docs/principles/details/p061-separate-decision-from-high-impact-execution.md +131 -0
- package/skills/_support/docs/principles/details/p062-human-approval-for-irreversible-or-high-risk-actions.md +129 -0
- package/skills/_support/docs/principles/details/p063-requirement-to-code-traceability.md +116 -0
- package/skills/_support/docs/principles/details/p064-requirement-to-test-traceability.md +116 -0
- package/skills/_support/docs/principles/details/p065-verify-before-claiming-completion.md +131 -0
- package/skills/_support/docs/principles/details/p066-preserve-existing-work.md +114 -0
- package/skills/_support/docs/principles/details/p067-no-test-cheating.md +126 -0
- package/skills/_support/docs/principles/details/p068-no-validation-bypass.md +119 -0
- package/skills/_support/docs/principles/details/p069-independent-review-for-high-risk-changes.md +129 -0
- package/skills/_support/docs/principles/details/p070-code-health-must-not-regress.md +116 -0
- package/skills/_support/docs/principles/details/p071-consistency-over-personal-preference.md +117 -0
- package/skills/_support/docs/principles/details/p072-technical-evidence-over-preference.md +122 -0
- package/skills/_support/docs/principles/details/p073-optimize-only-with-evidence.md +123 -0
- package/skills/_support/docs/principles/details/p074-prefer-existing-mechanisms.md +121 -0
- package/skills/_support/docs/principles/details/p075-make-invalid-states-hard-to-represent.md +128 -0
- package/skills/_support/docs/principles/details/p076-parse-then-validate-then-operate.md +133 -0
- package/skills/_support/docs/principles/details/p077-separate-policy-from-mechanism.md +112 -0
- package/skills/_support/docs/principles/details/p078-single-source-of-truth.md +131 -0
- package/skills/_support/docs/principles/details/p079-explicit-ownership-and-lifetimes.md +124 -0
- package/skills/_support/docs/principles/details/p080-make-concurrency-deliberate.md +122 -0
- package/skills/_support/docs/principles/details/p081-forward-progress-with-safety.md +125 -0
- package/skills/_support/docs/principles/details/p082-design-for-cancellation.md +133 -0
- package/skills/_support/docs/principles/details/p083-irreversible-actions-last.md +124 -0
- package/skills/_support/docs/principles/details/p084-prefer-local-reasoning.md +131 -0
- package/skills/_support/docs/principles/details/p085-explicit-is-better-than-implicit.md +123 -0
- package/skills/_support/docs/principles/details/p086-readability-counts.md +113 -0
- package/skills/_support/docs/principles/details/p087-comments-explain-why-code-explains-what.md +120 -0
- package/skills/_support/docs/principles/details/p088-delete-dead-code.md +125 -0
- package/skills/_support/docs/principles/details/p089-delete-obsolete-configuration-and-dependencies.md +125 -0
- package/skills/_support/docs/principles/details/p090-prefer-negative-code.md +134 -0
- package/skills/_support/docs/principles/details/p091-test-driven-development.md +149 -0
- package/skills/_support/docs/review/README.md +63 -0
- package/skills/_support/docs/review/behavior-first-testing.md +78 -0
- package/skills/_support/docs/review/common.md +400 -0
- package/skills/_support/docs/review/design-docs.md +74 -0
- package/skills/_support/docs/review/issue-planning.md +247 -0
- package/skills/_support/docs/review/language-routing.md +141 -0
- package/skills/_support/docs/review/repository-scorecard.md +170 -0
- package/skills/advise/SKILL.md +108 -74
- package/skills/advise/scripts/list_retrievable_skills.py +20 -8
- package/skills/advise/scripts/resolve_knowledge_checkout.py +533 -0
- package/skills/brainstorm/SKILL.md +163 -127
- package/skills/change-review/SKILL.md +91 -71
- package/skills/change-review/references/scope-resolution.md +69 -46
- package/skills/change-review/scripts/resolve_scope.py +144 -84
- package/skills/finalize-plan/SKILL.md +205 -139
- package/skills/git-worktrees/SKILL.md +100 -80
- package/skills/git-worktrees/scripts/prepare_worktree.py +34 -15
- package/skills/issue-review/SKILL.md +136 -79
- package/skills/learn/SKILL.md +359 -192
- package/skills/myrmidon-swarm/SKILL.md +126 -86
- package/skills/plan-issue/SKILL.md +122 -81
- package/skills/pr-review/SKILL.md +184 -116
- package/skills/pr-review/references/criteria.md +61 -37
- package/skills/pr-review/references/delivery.md +277 -101
- package/skills/pr-review/references/evidence.md +346 -149
- package/skills/pr-review/references/prevalidated.md +93 -61
- package/skills/pr-review/scripts/collect_evidence.py +312 -162
- package/skills/pr-review/scripts/deliver_go.py +701 -0
- package/skills/pr-review/scripts/diff_context.py +34 -15
- package/skills/pr-review/scripts/materialize_snapshot.py +141 -130
- package/skills/pr-review/scripts/pr_identity.py +27 -15
- package/skills/pr-review/scripts/resolve_pr.py +77 -41
- package/skills/realign/SKILL.md +516 -0
- package/skills/realign/references/aislop-integration.md +215 -0
- package/skills/realign/references/architecture-and-structure.md +271 -0
- package/skills/realign/references/control-flow-and-errors.md +344 -0
- package/skills/realign/references/tests-dependencies-and-security.md +261 -0
- package/skills/realign/scripts/resolve_assessment.py +1525 -0
- package/skills/repo-review/SKILL.md +202 -131
- package/skills/simplify/SKILL.md +174 -0
- package/skills/systematic-debugging/SKILL.md +212 -192
- package/skills/systematic-debugging/scripts/repository_evidence.py +26 -8
- package/skills/test-driven-development/SKILL.md +126 -96
- package/skills/tidy/SKILL.md +104 -59
- 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.
|