Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ This repository follows release-tag based versioning for install pinning and rel

## [Unreleased]

- Aligned ADR authoring and decision-impact guidance with ratified Hygiene policy
v1.1.0, including proposed records, evidence-preserving historical reconstruction,
legacy index migration, completion handoffs and explicit canary compatibility (#91).

- Connected issue authoring to the pinned candidate title contract and Egolint
through explicit local discovery, source verification, and managed instruction
projections; preserved read-only agent permissions and added a synthetic
Expand Down
203 changes: 99 additions & 104 deletions CONTINUITY.md

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ issues: []
id: AET-Q07
status: ready
depends_on: [AET-Q01]
issues: [49]
issues: [49, 91]
-->
#### AET-Q07 — Add the decision-impact instruction hook

Expand All @@ -204,15 +204,16 @@ routine implementation and preserves human decision authority.

**Exit criteria:**

- [ ] The shared module pins, rather than copies, the proposed Hygiene ADR and Repository Intelligence contracts.
- [ ] The shared module pins the accepted Hygiene ADR policy while retaining the independent proposed Repository Intelligence contract.
- [ ] Create, update, supersede, reference, and `ADR not required` flows cover consequential and routine examples.
- [ ] Provider projections and a generated repository `AGENTS.md` fixture contain exactly one managed hook.
- [ ] Deterministic tests reject malformed or duplicate managed blocks.

**Current evidence:**

- Issue #49 defines the decision-impact scope and acceptance criteria.
- The pinned Hygiene contracts remain proposed; this step must not claim their acceptance.
- Follow-up #91 aligns authoring, templates and the managed hook with ratified ADR policy v1.1.0; Aether artifacts and the independent Intelligence contract retain their own draft/proposed lifecycle.
- Existing hook delivery under #49 is complete. Ratified-policy authoring adoption and the Identity canary remain separate evidence gates.

### Roadmap-to-issue handoff

Expand Down
4 changes: 2 additions & 2 deletions catalog/first-party/catalog.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@
"scope": "organization",
"source_digest": {
"algorithm": "sha256-utf8-lf",
"value": "1a7ed59ffb67bd7873e3489fbfd8c3da3c14e6e3c9a745613b08092d8a5ebd36"
"value": "c3b62fddd020d973103536f4859433878c8bda59e50a8e899cf14da7e1990a5a"
},
"source_path": "library/organization/skills/architecture/create-decisions-document/SKILL.md",
"supersedes_ids": [],
Expand Down Expand Up @@ -1839,7 +1839,7 @@
"scope": "organization",
"source_digest": {
"algorithm": "sha256-utf8-lf",
"value": "86b930db1a209248ebc832d2a8889d9b768348d43989b87f6f32f6db1966f0ed"
"value": "fa712aca0feb5d13e2b0bb61bf51eb6ce63553c2f15a4487619b7e94ba056315"
},
"source_path": "library/organization/specs/architecture/governance/decisions.spec.md",
"supersedes_ids": [],
Expand Down
74 changes: 35 additions & 39 deletions dist/claude/repository/.claude/agents/architect.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ tools:
- WebFetch
- WebSearch
---
<!-- aether-projection {"continuity_disposition":"reader-writer","generator":"library/organization/projections/build-projections.py","instruction_modules":[{"id":"decision-impact","inherits":[{"contract":"egohygiene.architecture-decision/v1","policy_version":"1.0.0","revision":"5e0602265b6ac5e5165b89f418e55a3fd12f8a64","source_url":"https://github.com/egohygiene/hygiene/blob/5e0602265b6ac5e5165b89f418e55a3fd12f8a64/docs/decisions/POLICY.md","status":"proposed"},{"contract":"egohygiene.repository-intelligence/v1","contract_version":"1.0.0-alpha.1","revision":"5e0602265b6ac5e5165b89f418e55a3fd12f8a64","source_url":"https://github.com/egohygiene/hygiene/blob/5e0602265b6ac5e5165b89f418e55a3fd12f8a64/docs/ecosystem/REPOSITORY_INTELLIGENCE.md","status":"proposed"}],"source":"library/organization/projections/templates/decision-impact.AGENTS.md","source_digest":{"algorithm":"sha256-utf8-lf","value":"6359706b207cc15bffa7fdbdcf093d528142b0c7675bc24dfc27534f7b015280"},"status":"draft","version":"0.1.0"},{"continuity_path":"CONTINUITY.md","contract":"aether.repository-continuity/v1","id":"repository-continuity","skill":"maintain-repository-continuity","source":"library/organization/instructions/repository-continuity/INSTRUCTION.md","source_digest":{"algorithm":"sha256-utf8-lf","value":"dc2fb66bd5268af2416389fef469d2a13c91d1a6f179e6fc10a21d4f890876a8"},"status":"draft","version":"1.0.0"}],"interface":"aether.projection-interface/v1","interface_version":"1.2.0","provider":"claude-code","source":"library/organization/agents/architect/AGENT.md","source_digest":{"algorithm":"sha256-utf8-lf","value":"c1e5519fed5a85f675e8e86ab0c79bc446aeca667aa227ee2993980b696fa744"}} -->
<!-- aether-projection {"continuity_disposition":"reader-writer","generator":"library/organization/projections/build-projections.py","instruction_modules":[{"id":"decision-impact","inherits":[{"approval_url":"https://github.com/egohygiene/hygiene/issues/15#issuecomment-5647398908","contract":"egohygiene.architecture-decision/v1","policy_version":"1.1.0","revision":"c589587395750cd1c79c6fa0bef010189c547249","source_url":"https://github.com/egohygiene/hygiene/blob/c589587395750cd1c79c6fa0bef010189c547249/docs/decisions/POLICY.md","status":"accepted"},{"contract":"egohygiene.repository-intelligence/v1","contract_version":"1.0.0-alpha.1","revision":"5e0602265b6ac5e5165b89f418e55a3fd12f8a64","source_url":"https://github.com/egohygiene/hygiene/blob/5e0602265b6ac5e5165b89f418e55a3fd12f8a64/docs/ecosystem/REPOSITORY_INTELLIGENCE.md","status":"proposed"}],"source":"library/organization/projections/templates/decision-impact.AGENTS.md","source_digest":{"algorithm":"sha256-utf8-lf","value":"8934faf3948cea3ccaf683d90de7f1d132cb10d68ef1ce702297b31562b6638b"},"status":"draft","version":"0.2.0"},{"continuity_path":"CONTINUITY.md","contract":"aether.repository-continuity/v1","id":"repository-continuity","skill":"maintain-repository-continuity","source":"library/organization/instructions/repository-continuity/INSTRUCTION.md","source_digest":{"algorithm":"sha256-utf8-lf","value":"dc2fb66bd5268af2416389fef469d2a13c91d1a6f179e6fc10a21d4f890876a8"},"status":"draft","version":"1.0.0"}],"interface":"aether.projection-interface/v1","interface_version":"1.2.0","provider":"claude-code","source":"library/organization/agents/architect/AGENT.md","source_digest":{"algorithm":"sha256-utf8-lf","value":"c1e5519fed5a85f675e8e86ab0c79bc446aeca667aa227ee2993980b696fa744"}} -->

## Mission

Expand Down Expand Up @@ -62,53 +62,49 @@ result instead of inventing an update.
Finish with the architecture artifact, resolved decisions, remaining open questions, implementation boundaries, and recommended next step toward Specfile Creator.

<!-- BEGIN AETHER DECISION-IMPACT -->
<!-- aether-instruction {"id":"decision-impact","inherits":[{"contract":"egohygiene.architecture-decision/v1","policy_version":"1.0.0","revision":"5e0602265b6ac5e5165b89f418e55a3fd12f8a64","source_url":"https://github.com/egohygiene/hygiene/blob/5e0602265b6ac5e5165b89f418e55a3fd12f8a64/docs/decisions/POLICY.md","status":"proposed"},{"contract":"egohygiene.repository-intelligence/v1","contract_version":"1.0.0-alpha.1","revision":"5e0602265b6ac5e5165b89f418e55a3fd12f8a64","source_url":"https://github.com/egohygiene/hygiene/blob/5e0602265b6ac5e5165b89f418e55a3fd12f8a64/docs/ecosystem/REPOSITORY_INTELLIGENCE.md","status":"proposed"}],"status":"draft","version":"0.1.0"} -->
<!-- aether-instruction {"id":"decision-impact","inherits":[{"contract":"egohygiene.architecture-decision/v1","policy_version":"1.1.0","revision":"c589587395750cd1c79c6fa0bef010189c547249","source_url":"https://github.com/egohygiene/hygiene/blob/c589587395750cd1c79c6fa0bef010189c547249/docs/decisions/POLICY.md","status":"accepted","approval_url":"https://github.com/egohygiene/hygiene/issues/15#issuecomment-5647398908"},{"contract":"egohygiene.repository-intelligence/v1","contract_version":"1.0.0-alpha.1","revision":"5e0602265b6ac5e5165b89f418e55a3fd12f8a64","source_url":"https://github.com/egohygiene/hygiene/blob/5e0602265b6ac5e5165b89f418e55a3fd12f8a64/docs/ecosystem/REPOSITORY_INTELLIGENCE.md","status":"proposed"}],"status":"draft","version":"0.2.0","skill":"create-decisions-document"} -->
## Decision-impact checkpoint

Before changing code, inspect the applicable repository instructions, roadmap,
local decisions, and relevant organization decisions. Classify the work as
`create`, `update`, `supersede`, `reference`, or `ADR not required`. Do not
silently make a consequential or ambiguous choice: surface it and request human
review. Automated agents never mark an ADR accepted.

- **Create** a proposed ADR when no existing record governs a consequential
choice.
- **Update** an existing proposal, or add evidence/outcomes/corrections that do
not rewrite an accepted decision's historical meaning.
- **Supersede** when an accepted choice must change: propose a replacement,
preserve the old record, and link both directions after human approval.
- **Reference** the governing ADR when work implements an existing decision;
do not create a duplicate.
- Use **`ADR not required`** with one short reason for routine, local, reversible
work that follows accepted design.

| Area | ADR required | ADR not required |
| --- | --- | --- |
| Dependencies | Adopt/remove a durable framework or make a compatibility-changing major upgrade | Apply a compatible patch within accepted dependency policy |
| Public contracts | Change API, CLI, schema, compatibility, or migration semantics | Clarify documentation or tests without changing the contract |
| Security | Change a trust boundary, authorization model, encryption, or secret handling | Implement or test an already accepted control |
| Data models | Change durable identity, persistence, or migration strategy | Refactor a transient local representation |
| Deployment | Change topology, hosting platform, release channel, or dependency direction | Tune retries or resources within the accepted topology |
| Reversible details | A trigger above still makes the choice consequential | Change a local algorithm, refactor, formatting, or test organization |

When stable identifiers exist, connect the work with Git trailers or equivalent
pull-request fields:
Before implementation, inspect scoped instructions, pinned ecosystem context,
the local policy reference, roadmap, local ADRs and relevant organization ADRs.
Load `create-decisions-document` from the reviewed pinned Aether installation.
Apply its significance test and choose `create`, `update`, `supersede`,
`reference`, or `ADR not required` within the current role's permissions.

- **Create:** author a proposed ADR for a consequential choice not already governed.
Historical reconstruction preserves evidence, uncertainty and distinct dates.
- **Update:** correct evidence or append dated outcomes without rewriting history.
- **Supersede:** propose a replacement; preserve the old record pending human
disposition and validate lineage through the selected owner tools.
- **Reference:** cite the governing record when implementing an existing design.
- **ADR not required:** give one concise reason for routine work; create no duplicate.

Before issue completion or PR handoff, repeat the check against the actual diff.
Cite the governing/new/updated ADR or `ADR not required` with its reason. Preserve
known roadmap references; use real stable IDs and qualify cross-repository references:

```text
Roadmap-Step: AET-Q07
ADR-Ref: egohygiene/hygiene#ADR-002
```

Use a local stable ID or a fully qualified `<owner>/<repository>#<id>`; always
qualify cross-repository references. Do not invent missing IDs or evidence.

This draft module inherits the proposed
[Hygiene ADR policy v1.0.0](https://github.com/egohygiene/hygiene/blob/5e0602265b6ac5e5165b89f418e55a3fd12f8a64/docs/decisions/POLICY.md)
and
New records stay proposed. Automated agents never mark an ADR accepted or assign
another non-proposed lifecycle state. Preserve human-authored dispositions;
implementation, merge and verification do not supply approval or rationale.
Use `docs/decisions/README.md` and the repository policy reference; preserve legacy
`DECISIONS.md` content until reviewed migration. Read-only roles remain read-only.

If the skill is missing, report it and prepare only an authorized evidence
inventory/draft; do not claim skill execution or completed consequential review.
This block preserves consumer-authored instructions and does not install or
guarantee enforcement on every PR. The skill owns detailed authoring procedures.

The module remains draft. It inherits the accepted
[Hygiene ADR policy v1.1.0](https://github.com/egohygiene/hygiene/blob/c589587395750cd1c79c6fa0bef010189c547249/docs/decisions/POLICY.md)
with [recorded ratification](https://github.com/egohygiene/hygiene/issues/15#issuecomment-5647398908).
The independent
[Repository Intelligence v1.0.0-alpha.1](https://github.com/egohygiene/hygiene/blob/5e0602265b6ac5e5165b89f418e55a3fd12f8a64/docs/ecosystem/REPOSITORY_INTELLIGENCE.md)
at immutable revision `5e0602265b6ac5e5165b89f418e55a3fd12f8a64`.
It grants no acceptance, implementation, or organization-wide authority while
those upstream contracts remain proposed.
retains its proposed authority and existing immutable pin.
<!-- END AETHER DECISION-IMPACT -->

<!-- BEGIN AETHER REPOSITORY-CONTINUITY -->
Expand Down
Loading
Loading