Skip to content

About

Bray Sailing Club results, archived as published

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

bray-archive

Bray Sailing Club's published results — from HalSail since 2025, and from the club's own website before that — ingested as published into the bsc workspace of Sail Scoring (app ADR-010): shown exactly as the club published them and never re-scored.

What's here

Path What it is
sources/series.json The curated series list — the only hand-written input.
sources/halsail.com/Result/_Boat/ One results fragment per HalSail page, verbatim.
sources/halsail.com/Result/Public/ One series page shell, which carries the club's whole HalSail catalog.
sources/results.braysailingclub.ie/ The 2022–2024 cruiser results (Sail100), standings and race pages, verbatim.
sources/www.braysailingclub.ie/uploads/ Results files the club uploaded to its website: the 2021 cruisers (Sail100) and the 2024 dinghies (Sailwave).
as-published.config.json Emitted from the two above; the input to the app's archive-generate. Committed, and CI checks it is current.
scripts/ Capture, catalog listing and config emission.
CLARIFICATIONS.md Every judgement call made about the published data.

Commands

pnpm install
pnpm capture              # fetch every page listed in sources/series.json
pnpm capture --refresh    # re-fetch everything
pnpm catalog              # list the club's HalSail classes and series
pnpm emit-as-published    # series list + captures → as-published.config.json
pnpm typecheck

The pipeline

  1. sources/series.json lists each as-published series and the pages it is made of: HalSail pages by HalSail seriesId, older pages by the URL the club's results index links.
  2. pnpm capture fetches each HalSail page's results fragment from halsail.com/Result/_Boat/{seriesId} — the part of halsail.com/Result/Public/{seriesId} that the browser loads after the page shell — and each older page from the club's website, with the race pages a Sail100 page links.
  3. pnpm emit-as-published reads every capture through the app's parsers, checks each page still carries the title recorded for it, dates each series from the races it published, and writes as-published.config.json.
  4. In the app checkout, pnpm archive-generate ../bray-archive/as-published.config.json builds one ingest document per series into as-published/ (not committed).
  5. CI pushes those documents to the bsc workspace with pnpm cli as-published push on every push to main — see .github/workflows/as-published.yml.

The published pages land at /p/bsc/<season>/<event>[/<page>], e.g. /p/bsc/2026/cruisers/overall or /p/bsc/2026/keelboat-regatta.

Adding a series

  1. pnpm catalog lists every HalSail class and series the club has, marking the ones already archived.
  2. Add an entry to sources/series.json: a permanent key, the season and slug its URL is built from, a display name, and its pages. A page's title is HalSail's caption for it as captured, or a club page's heading — run pnpm emit-as-published with a guess and it will tell you the real one. A Sail100 page takes races to carry its race pages; a Sailwave page with several classes lists them as sections.
  3. pnpm capture, then pnpm emit-as-published, and commit the series list, the captures and the config together.

A series still being sailed changes under its capture: re-run pnpm capture --refresh and review the diff before committing it.

Status

Everything the club publishes, 2021–2026: 28 series, 65 pages. What the club's results pages link to but this archive does not carry, and why, is in CLARIFICATIONS.md.

Season Source Series
2026 HalSail Cruisers (Overall, Saturday, Weekday, Coastal, Holiday, Sunday, Instructor Races); Keelboat Regatta; Single Handed Race; Summer Dinghy Series; Midsummer Twilight, Junior and Murdoch regattas
2025-26 HalSail Winter Series
2025 HalSail Cruisers (Overall, Saturday, Weekday, Coastal, Holiday, Sunday, Instructor Race); Single Handed Race; Sunday Dinghy Series; Midsummer, Junior and Murdoch regattas
2024-25 HalSail Winter Series
2024 Sail100, Sailwave Cruisers (Overall, Saturday, Weekday, Coastal, Holiday, Sunday); Keelboat Regatta; Sunday Dinghy Series; Midsummer, Murdoch and Junior regattas
2023-24 Sailwave Winter Series
2023 Sail100 Cruisers (Overall, Saturday, Weekday, Coastal, Holiday); Single Handed Race
2022 Sail100 Cruisers (Overall, Saturday, Weekday, Coastal, Holiday); Keelboat Regatta; Single Handed Race
2021 Sail100 Cruisers (Overall, Saturday, Weekday, Coastal), standings only

No competitor-identity manifest yet.

Relationship to the app repo

This repo assumes the sibling app checkout exists at ../sailscoring. It reuses the app's HalSail, Sail100 and Sailwave parsers, capture decoder and id derivation by relative import (../sailscoring/lib/archive-kit/…) rather than forking them. The as-published toolkit (parsers, generator, ingest client) stays in the app; this repo contributes config and captures, not code, to the ingest.

Licensing

  • Code — scripts/: MIT.
  • Normalised data & docs — sources/series.json, as-published.config.json, README.md, SOURCES.md, CLARIFICATIONS.md: CC0 1.0. These are extractions of published facts (series names, dates, structure), and facts are not copyrightable.
  • Source pages — the verbatim captures under sources/halsail.com/, sources/results.braysailingclub.ie/ and sources/www.braysailingclub.ie/: not covered by either license. These are results published by Bray Sailing Club (on its website, and hosted by HalSail), included only for reproducibility. All rights remain with their owners.

About

Bray Sailing Club results, archived as published

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages