docs: openspec specs + feature reference pages for the recent feature trio#136
Merged
rubenvdlinde merged 1 commit intodevelopmentfrom May 7, 2026
Merged
Conversation
… trio Three features shipped as code in PRs #129/#130/#131 without their companion OpenSpec specs and without `docs/features/*.md` reference pages. Closing the documentation debt: OpenSpec specs (`openspec/specs/<capability>/spec.md`): - `default-widget-bundle` — REQ-DWB-001..006: the four-widget seed bundle on user-initiated dashboard creation, the `tileType='preset'` serialization gate, the bootstrap-path bypass, the create-response envelope shape with placements, and the `Views.vue` loading shim. - `effective-default-marker` — REQ-EDM-001..005: the ★ icon, the effective-default chain (pin → group default → fallback), the intentional exclusion of step 6 (personal dashboards), tooltip + aria-label, theme color via `--color-warning`. - `dashboard-deeplinking` — REQ-DDL-001..007: the catch-all `page#deepLink` route with negative-lookahead to exclude `/api/...`, server-side resolution + silent fallback (never 404), canonical path round-trip via `replaceState`, the new `GET /api/dashboards/{uuid}/path` endpoint, frontend `pushState` on switch + `popstate` listener, the `/api/health` regression check. Feature reference pages (`docs/features/*.md`) — what each capability does at the user / API level, when it fires, where the code lives, links into the relevant tutorials and the spec source. `README.md` — tutorial site moved from `mydash.app` to `mydash.conduction.nl`, and the front-matter blurb gains a [journeydoc](https://github.com/ConductionNL/hydra/blob/development/openspec/architecture/adr-030-journeydoc-pattern.md) link so contributors know the tutorial pattern that produced the docs.
Contributor
Quality Report — ConductionNL/mydash @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ✅ | ✅ 100/100 | |||
| npm | ✅ | ✅ 501/501 | |||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ⏭️ |
Coverage: 90.7% (127/140 statements)
Quality workflow — 2026-05-07 05:03 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes the documentation debt from PRs #129, #130, #131. Those shipped code without companion OpenSpec specs or
docs/features/*.mdreference pages.What landed
Three OpenSpec specs
openspec/specs/default-widget-bundle/spec.mdtileType='preset'serialization gate, bootstrap-path bypass, create-response envelope with placements,Views.vueloading shimopenspec/specs/effective-default-marker/spec.md--color-warningopenspec/specs/dashboard-deeplinking/spec.mdpage#deepLinkroute with negative-lookahead, server-side resolution + silent fallback, canonical-path round-trip viareplaceState,GET /api/dashboards/{uuid}/pathendpoint, frontendpushState+popstate,/api/healthregression checkThree feature reference pages
docs/features/default-widget-bundle.mddocs/features/effective-default-marker.mddocs/features/dashboard-deeplinking.mdEach documents what the capability does at the user / API level, when it fires, where the code lives, and links to the relevant tutorials and the spec source.
README.mdmydash.apptomydash.conduction.nlTest plan
openspec/specs/*/spec.mdshape (frontmatter + Purpose + Context + Requirements with REQ-* tags)docusaurus build— verify clean (the local worktree hits an intermittent SSG render issue that the production deploy doesn't reproduce; trusting CI as ground truth)Notes
status: implementedsince the code already shipped. Future drift between code and spec is now visible./screenshots/...paths that the journeydoc capture spec populates; missing screenshots warn but don't fail the build (per the journeydoc convention).