Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.
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
49 changes: 49 additions & 0 deletions openspec/changes/manifest-version-bump/design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Design: Manifest version bump

## Status
proposed

## Spec kind & sizing (ADR-032)

- `kind: config` — touches only `src/manifest.json`. Zero `lib/`,
zero `src/components/`, zero `src/views/`, zero `tests/` edits.
- Smallest possible diff: 1 character changed (`3` → `4` in version string).
- Scope: 1 file, 1 task, ~2 builder turns expected.

## Declarative-vs-imperative decision (ADR-031)

Not applicable to this change — manifest versioning is pure declarative
content (no behaviour change, no service-vs-schema choice).

## Impact on existing code

- `src/manifest.json`: `"version": "0.3.0"` → `"version": "0.4.0"`.
- **Nothing else.** Frontend bundle still rebuilds the same manifest;
`useAppManifest()` reads the same shape; `CnAppRoot` renders identically.
- No backend impact (the manifest is frontend-only).
- No test impact (manifest validation runs via `npm run check:manifest`,
which validates schema-shape, not version semantics).

## Reuse Analysis (ADR-001)

Not applicable — no new behaviour, no abstraction reuse to evaluate.

## Deduplication Check (ADR-001)

Not applicable — this is a single-field metadata bump, no duplication
risk.

## Risks

1. **Caching**: a bumped manifest version invalidates any client-side
manifest cache. Acceptable — Tier 4 already loads the bundled manifest
on every page load.
2. **Reviewer false-positive on "no functional change"**: the reviewer
might flag this as low-value and request more context. The proposal
explicitly names the test-of-pipeline rationale.

## Out of scope

- Any other manifest field change.
- Any non-manifest file edit.
- Documentation updates beyond this spec set.
52 changes: 52 additions & 0 deletions openspec/changes/manifest-version-bump/proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
kind: config
depends_on: []
---

# Manifest version bump (0.3.0 → 0.4.0)

## Problem

Decidesk's `src/manifest.json` is at `version: "0.3.0"`. Per ADR-024 §7,
`manifest.version` tracks semver of content; an app bumps the minor while
iterating. The manifest has accumulated meaningful content evolution since
0.3.0 landed (full Tier 4 adoption, declarative business-logic specs in
flight, ADR-032 chain pattern adopted). A minor-version bump records that
maturation as a content-versioning waypoint.

This change is also the **smallest possible Hydra config-only spec** —
deliberately scoped to validate the Stage A pipeline end-to-end (build →
quality → review → security → applier) on a one-line diff with zero
semantic risk. If this fails, the pipeline has bugs unrelated to spec
content; if it passes, the bigger ADR-031 chain specs can run with
confidence.

## Proposed Solution

Edit `src/manifest.json`: change `"version": "0.3.0"` → `"version": "0.4.0"`.

That is the entire change. No code, no schemas, no tests, no documentation
updates beyond this proposal/design/tasks set.

## Capabilities

### Modified Capabilities

- `app-manifest` — manifest.version increments per ADR-024 §7.

### New Capabilities

(none)

## Stakeholders

- **Decidesk maintainers** — own the bump.
- **Hydra reviewers** — validates the config-only flow end-to-end on the
smallest possible diff.

## References

- ADR-024 (hydra) — App Manifest, §7 versioning rules
- ADR-032 (hydra) — Spec sizing taxonomy; this spec is the canonical
`kind: config` minimal example
- `decidesk/src/manifest.json` — target file
41 changes: 41 additions & 0 deletions openspec/changes/manifest-version-bump/tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Tasks: Manifest version bump

> **`kind: config`** — single 1-character edit in `src/manifest.json`.
> No PHP, no Vue, no tests added. The smallest possible Hydra spec.

## 1. Bump manifest version

- [ ] Edit `src/manifest.json`: change `"version": "0.3.0"` to
`"version": "0.4.0"`.
- [ ] Verify the diff is exactly one line, exactly one character.

## 2. Verification (mechanical)

- [ ] `jq '.version' src/manifest.json` returns `"0.4.0"`.
- [ ] `npm run check:manifest` exits 0 (schema validates).
- [ ] `git diff --stat origin/development...HEAD` shows
`src/manifest.json | 2 +-` (one line removed, one line added —
jq doesn't preserve formatting around the bump, but the net
change is one field).

## 3. Commit + PR

The Hydra builder commits and the wrapper auto-creates the draft PR.
No additional manual action expected from the implementer.

## Deduplication Check

- [ ] Confirmed: no duplication. This is a single-field metadata bump,
no abstractions involved.

---

## Notes for the implementer

This spec is the canonical `kind: config` minimal example, drafted
2026-05-08 to validate the Hydra config-only flow end-to-end on the
smallest possible diff. Expected wall time: 15-25 minutes for the full
pipeline (build → quality → reviewer → security → applier).

If you find yourself touching anything other than `src/manifest.json`,
**stop** — that's out of scope for this spec.
Loading