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 README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ npm run og:render
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------ |
| `protostar-demo` | [Protostar interactive init demo](https://github.com/JacksonFergusonDev/protostar/blob/main/docs/assets/demo_init_interactive.cast) | `public/protostar-demo.cast` | Asciinema v2 header and minimum size |
| `protostar-icon` | [Protostar](https://github.com/JacksonFergusonDev/protostar) | `public/images/protostar.svg` | SVG markup and minimum size |
| `protostar-mutation-score` | [Protostar mutation benchmarks](https://protostar.jacksonferguson.me/benchmarks/) | `public/data/protostar-mutation-score.json` | JSON object with typed keys |
| `protostar-mutation-score` | [Protostar metrics](https://protostar.jacksonferguson.me/metrics/) | `public/data/protostar-mutation-score.json` | JSON object with typed keys |
| `systems-audio-analysis` | [Systems Audio Lab](https://github.com/JacksonFergusonDev/systems-audio-lab) | `public/images/audio-analysis.svg` | SVG markup and minimum size |
| `data-science-redshift-distribution` | [Data Science Portfolio](https://github.com/JacksonFergusonDev/data-science-portfolio) | `public/images/gmm-redshift-distribution.svg` | SVG markup and minimum size |
| `systems-audio-report` | [Systems Audio Lab technical report](https://github.com/JacksonFergusonDev/systems-audio-lab/blob/main/docs/systems_audio_tech_report.pdf) | `public/reports/systems-audio-lab-technical-report.pdf` | PDF signature and minimum size |
Expand All @@ -84,7 +84,7 @@ The current sources follow upstream `main` branches, so rebuilding a portfolio c

Each manifest entry supplies a unique ID, a description, an HTTPS source, a unique target inside `public/`, a supported validation type, and a positive `minBytes` threshold. The type matches the asset format, and the size threshold helps catch empty or unexpectedly small responses. SVG checks look for opening and closing SVG markup; terminal recordings require a JSON Asciinema v2 header with numeric dimensions; PDFs must start with the `%PDF-` signature. A `json` entry also declares a `shape` mapping each key the site reads to `string`, `number`, or `boolean`, and the fetched document must be an object whose keys have those types. These are format checks, not a full content audit.

Pages reference the generated local paths. The project catalog reads Protostar's mutation score file while the site builds, and the homepage shows the score linked to Protostar's benchmarks dashboard, so a new score appears on the next build. The asset pipeline is checked through the fetch command, production build, and site tests.
Pages reference the generated local paths. The project catalog reads Protostar's mutation score file while the site builds, and the homepage shows the score linked to Protostar's metrics dashboard, so a new score appears on the next build. The asset pipeline is checked through the fetch command, production build, and site tests.

### Refreshes from source repositories

Expand Down
2 changes: 1 addition & 1 deletion config/remote-assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
{
"id": "protostar-mutation-score",
"description": "Protostar's latest engine mutation score, shown on the flagship project card.",
"source": "https://protostar.jacksonferguson.me/benchmarks/mutation-latest.json",
"source": "https://protostar.jacksonferguson.me/metrics/mutation-latest.json",
"target": "public/data/protostar-mutation-score.json",
"type": "json",
"shape": {
Expand Down
2 changes: 1 addition & 1 deletion src/lib/projects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export const protostar = {
score: {
label: 'Engine mutation score',
value: protostarMutation.message,
href: 'https://protostar.jacksonferguson.me/benchmarks/',
href: 'https://protostar.jacksonferguson.me/metrics/',
},
} satisfies Project;

Expand Down
2 changes: 1 addition & 1 deletion tests/site.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ test('project hierarchy and real downloads are preserved', async () => {
'utf8',
),
);
assert.ok(raw.includes('href="https://protostar.jacksonferguson.me/benchmarks/"'));
assert.ok(raw.includes('href="https://protostar.jacksonferguson.me/metrics/"'));
assert.ok(
home.includes(`Engine mutation score ${score}`),
'Protostar card shows its mutation score',
Expand Down
Loading