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: 2 additions & 2 deletions .changeset/add-survey-schema-and-merge.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ Land the three-stage scan pipeline: map (`map.md`) → survey (`survey.json`)
**New skill recipes:**
- `map.md` — author `map.md` from a target (the topology stage). Migrated from the standalone `ghost-map` package.
- `survey.md` — author `survey.json` from a target (the observed evidence stage). Walks the agent through LLM-driven extraction with dialect-specific grep strategies, exhaustiveness discipline, and saturation predicate.
- `scan.md` — meta-recipe that orchestrates map → survey → profile end-to-end via `scan-status` checkpoints. Use when the user wants a full scan rather than a specific stage.
- `scan.md` — meta-recipe that orchestrates map → survey → fingerprint end-to-end via `scan-status` checkpoints. Use when the user wants a full scan rather than a specific stage.

**Refactored skill recipe:**
- `profile.md` — now strictly the fingerprint stage. Reads `survey.json` as ground truth; cannot fabricate values not in the survey; cites survey rows as evidence. Pre-requires `map.md` + `survey.json`. Hard split from the previous one-pass extract+interpret recipe.
- `fingerprint.md` — now strictly the fingerprint stage. Reads `survey.json` as ground truth; cannot fabricate values not in the survey; cites survey rows as evidence. Pre-requires `map.md` + `survey.json`. Hard split from the previous one-pass extract+interpret recipe.

**Removed:** the `ghost-map` package is deleted. `ghost.map/v1` schema and types now live in `@ghost/core`; `inventory` and `lint` (for `map.md`) move to `ghost-fingerprint`. Consumers that imported from `ghost-map` should switch to `@ghost/core` (schemas/types) or `ghost-fingerprint` (CLI verbs / library functions).

Expand Down
2 changes: 1 addition & 1 deletion .changeset/add-survey-summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"ghost-fingerprint": minor
---

Add a bounded `ghost-fingerprint survey summarize` digest for profiling large surveys without loading full raw evidence into agent context.
Add a bounded `ghost-fingerprint survey summarize` digest for fingerprint authoring large surveys without loading full raw evidence into agent context.
2 changes: 1 addition & 1 deletion .changeset/add-verify-profile-gate.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"ghost-fingerprint": minor
---

Add a deterministic profile verification command that checks fingerprint palette provenance and promoted check calibration against survey evidence.
Add a deterministic fingerprint verification command that checks fingerprint palette provenance and promoted check calibration against survey evidence.
2 changes: 1 addition & 1 deletion .changeset/authored-fingerprint-contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"ghost-fingerprint": major
---

Make fingerprint.md an authored-only contract, remove fragment-era on-disk embedding and check fields, add survey catalog, and expand profile verification.
Make fingerprint.md an authored-only contract, remove fragment-era on-disk embedding and check fields, add survey catalog, and expand fingerprint verification.
2 changes: 1 addition & 1 deletion .changeset/canonical-decision-vocabulary.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"ghost-fingerprint": minor
---

Add a controlled vocabulary of 12 canonical decision dimensions (`color-strategy`, `surface-hierarchy`, `shape-language`, `typography-voice`, `spatial-system`, `density`, `motion`, `elevation`, `theming-architecture`, `interactive-patterns`, `token-architecture`, `font-sourcing`) so fleet-aggregation primitives can group decisions across members. Profile recipe nudges authors toward canonical slugs; novel project-flavored slugs may pair with an optional `dimension_kind` that maps to a canonical survey. New soft `non-canonical-dimension` lint warning suggests the closest canonical match. The schema accepts the optional `dimension_kind` field on `decisions[]`; existing fingerprints remain valid.
Add a controlled vocabulary of 12 canonical decision dimensions (`color-strategy`, `surface-hierarchy`, `shape-language`, `typography-voice`, `spatial-system`, `density`, `motion`, `elevation`, `theming-architecture`, `interactive-patterns`, `token-architecture`, `font-sourcing`) so fleet-aggregation primitives can group decisions across members. Fingerprint recipe nudges authors toward canonical slugs; novel project-flavored slugs may pair with an optional `dimension_kind` that maps to a canonical survey. New soft `non-canonical-dimension` lint warning suggests the closest canonical match. The schema accepts the optional `dimension_kind` field on `decisions[]`; existing fingerprints remain valid.
5 changes: 5 additions & 0 deletions .changeset/emit-package-context-bundle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"ghost-fingerprint": patch
---

Emit context bundles from the root fingerprint package by default, while preserving legacy direct fingerprint emission behind `--fingerprint`.
2 changes: 1 addition & 1 deletion .changeset/fix-profile-recipe-paths.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"ghost-fingerprint": patch
---

Fix the profile recipe — it now reads `design_system.paths` (the actual map.md frontmatter field) instead of the nonexistent `design_system.location`. The skill bundle ships under ghost-fingerprint, so the broken recipe shipped to host agents.
Fix the fingerprint recipe — it now reads `design_system.paths` (the actual map.md frontmatter field) instead of the nonexistent `design_system.location`. The skill bundle ships under ghost-fingerprint, so the broken recipe shipped to host agents.
2 changes: 1 addition & 1 deletion .changeset/implemented-surface-evidence.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"ghost-fingerprint": major
---

Upgrade scans to `ghost.map/v2` and `ghost.survey/v2`, requiring implemented UI surface evidence and using those surfaces to guide fingerprint profiling.
Upgrade scans to `ghost.map/v2` and `ghost.survey/v2`, requiring implemented UI surface evidence and using those surfaces to guide fingerprint authoring.
2 changes: 1 addition & 1 deletion .changeset/initial-ghost-fingerprint.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"ghost-fingerprint": minor
---

Bootstrap `ghost-fingerprint` — Ghost's fingerprint.md authoring package. CLI verbs: `lint`, `describe`, `diff` (new — structural prose-level diff), and `emit <kind>` (kinds: review-command, context-bundle, skill). The skill bundle ships the map-aware `profile.md` recipe alongside the condensed schema reference. All four verbs are deterministic; profile is a recipe the host agent executes. Mirrors the BYOA contract that the rest of Ghost follows.
Bootstrap `ghost-fingerprint` — Ghost's fingerprint.md authoring package. CLI verbs: `lint`, `describe`, `diff` (new — structural prose-level diff), and `emit <kind>` (kinds: review-command, context-bundle, skill). The skill bundle ships the map-aware `fingerprint.md` recipe alongside the condensed schema reference. All four verbs are deterministic; fingerprint is a recipe the host agent executes. Mirrors the BYOA contract that the rest of Ghost follows.
2 changes: 1 addition & 1 deletion .changeset/phase-4c-recipe-branching.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"ghost-fingerprint": patch
---

Branch the profile recipe by detected repo kind. The recipe now reads `design_system.token_source`, `composition.frameworks`, `registry`, and `platform` from `map.md` and chooses one of three sampling strategies — ui-library (default), token-pipeline (sample at layer level through YAML graph), or consumer-of-external-DS (record upstream slugs and override patterns instead of resolving to hex). Library-mode `feature_areas` guidance now distinguishes component categories from token-architecture layers. No schema changes.
Branch the fingerprint recipe by detected repo kind. The recipe now reads `design_system.token_source`, `composition.frameworks`, `registry`, and `platform` from `map.md` and chooses one of three sampling strategies — ui-library (default), token-pipeline (sample at layer level through YAML graph), or consumer-of-external-DS (record upstream slugs and override patterns instead of resolving to hex). Library-mode `feature_areas` guidance now distinguishes component categories from token-architecture layers. No schema changes.
2 changes: 1 addition & 1 deletion .changeset/phase-5-bugs-and-schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Phase 5 fixes and schema widening for real-world repo variety.

Bug fixes (5a):

- Skill-bundle `schema.md` and `profile.md`: `decisions[].evidence` belongs in the body under `**Evidence:**` bullets, not as a frontmatter array. The condensed reference the LLM loads still showed the old shape; agents following the profile recipe were hitting 10 schema errors on first lint.
- Skill-bundle `schema.md` and `fingerprint.md`: `decisions[].evidence` belongs in the body under `**Evidence:**` bullets, not as a frontmatter array. The condensed reference the LLM loads still showed the old shape; agents following the fingerprint recipe were hitting 10 schema errors on first lint.
- `unused-palette` now propagates slug-bindings: `roles[].tokens.palette.<slot>` referencing `{palette.dominant.X}` marks the underlying hex as cited. Phase 4b claimed this; the code only matched literal hexes.

Schema widenings (5b):
Expand Down
2 changes: 1 addition & 1 deletion .changeset/refactor-fingerprint-package.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
"ghost-drift": major
---

Redefine the canonical fingerprint as `.ghost/fingerprint/` with profile guidance, survey evidence, map routing, checks gates, and deterministic drift checking.
Redefine the canonical fingerprint as `.ghost/fingerprint/` with fingerprint guidance, survey evidence, map routing, checks gates, and deterministic drift checking.
6 changes: 6 additions & 0 deletions .changeset/remove-profile-public-concept.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"ghost-fingerprint": major
"ghost-drift": major
---

Replace the public fingerprint artifact and CLI surface with canonical fingerprint naming.
6 changes: 6 additions & 0 deletions .changeset/root-fingerprint-bundle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"ghost-fingerprint": major
"ghost-drift": major
---

Make the root `.ghost/` directory the canonical Ghost fingerprint bundle, replacing `.ghost/fingerprint/fingerprint.md` package flows with resources, survey, patterns, checks, and optional intent artifacts.
5 changes: 5 additions & 0 deletions .changeset/tighten-fingerprint-evidence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"ghost-fingerprint": patch
---

Tighten fingerprint verification and linting so survey-backed evidence is recognized and missing decision evidence is surfaced.
44 changes: 44 additions & 0 deletions .ghost/checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
schema: ghost.checks/v1
id: ghost
checks:
- id: no-hardcoded-surface-hex
title: Prefer semantic color tokens over inline hex in UI surfaces
status: proposed
severity: serious
applies_to:
scopes:
- ghost-ui-components
- docs-site
surface_types:
- component-catalogue
- docs-foundation
- docs-home
detector:
type: forbidden-regex
pattern: '#[0-9a-fA-F]{6,8}'
evidence:
support: 0.9
observed_count: 1
examples:
- path: packages/ghost-ui/src/styles/main.css
note: Canonical color values are declared as CSS variables before use.
repair: Move repeatable UI colors into the semantic token layer in packages/ghost-ui/src/styles/main.css.
- id: component-pages-use-display-scale
title: Component catalogue pages keep the editorial display scale
status: proposed
severity: nit
applies_to:
scopes:
- docs-site
pattern_ids:
- component-catalogue-shell
detector:
type: required-regex
pattern: 'font-display'
evidence:
support: 0.88
observed_count: 4
examples:
- apps/docs/src/components/docs/page-header.tsx
- apps/docs/src/components/docs/component-page-shell.tsx
repair: Use the existing display heading helpers or `font-display` heading scale instead of local one-off title styling.
18 changes: 18 additions & 0 deletions .ghost/intent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Intent

Ghost is dogfooding the root fingerprint package so the artifact is shaped by
real maintenance pressure before it becomes ceremony for other repos.

The package should make four boundaries easy to feel:

- `resources.yml` declares what counts as evidence.
- `map.md` routes work to scopes and surface families.
- `survey.json` records observed facts without taste or rationale.
- `patterns.yml` and `checks.yml` decide what those facts mean for generation,
advisory review, and deterministic enforcement.

For Ghost's own UI, preserve the current editorial/workbench tension: plain
monochrome foundations, strong display type on docs surfaces, pill-like
controls, compact borders, and token-first color usage. Divergence is welcome
when it teaches the package something, but it should be named in this bundle
rather than hidden inside generated UI.
Loading
Loading