Skip to content
Open
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
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,13 @@
"Algorythmic",
"Cargile",
"grouprunfinder",
"healthtech",
"openendurance",
"openenduranceinitiative",
"protip",
"redocly",
"ulidx",
"ultrarunning",
"untriaged",
"upvote"
],
Expand Down
47 changes: 24 additions & 23 deletions docs/registry/core-publish-readiness-registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,29 +17,30 @@ Tracks publish-readiness work required to bring OEI Core to the same baseline us

## Workstream Tracker

| ID | Workstream | Requested Check | Status | Evidence | Notes |
| ------ | -------------------------- | ---------------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| CR-001 | Governance docs | AGENTS.md completion | Looks Complete | `AGENTS.md` now contains full core-specific guidance for scope, tooling, branching, docs, and release expectations. | Spot-check complete; refine over time as repo conventions evolve. |
| CR-002 | Linting | Biome configuration correctness | Not Audited | `biome.json` enables VCS ignore-file support; `.gitignore` excludes `*.tsbuildinfo`, `coverage/`, and `dist/`. | Artifact exclusions are configured; verify remaining configuration against the `config-dev` baseline. |
| CR-003 | TypeScript | Root tsconfig correctness and npm-based shared config usage | Needs Work | `tsconfig.json` is fully local and does not extend `@openendurance/config-typescript/*`. | Refactor to extend published npm preset and keep only local overrides. |
| CR-004 | Formatting | Prettier and Jest shared config usage from npm packages | Needs Work | No `.prettierrc*` or `prettier.config.*`; no `jest.config.*`; no `@openendurance/config-prettier` / `@openendurance/config-jest` usage. | Add shared-config consumption and package dependencies where required. |
| CR-005 | Lint workflow | Split scanning between Biome and Prettier | Needs Work | Split exists (`lint:prettier` + Biome paths), but root lint wiring differs from `config-dev` canonical shape. | Standardize root lint commands and keep markdown/yaml under Prettier checks. |
| CR-006 | Packaging and release | npm publishing setup, provenance, packaged `/dist`, workflows | Needs Work | `.github/workflows/ci.yml` now exists, but no release workflow is present; `packages/core/package.json` is `private: true` and has no `publishConfig.provenance`. | Add release workflow, publishing metadata, and first-release bootstrap plan. |
| CR-007 | Dependency maintenance | Renovate configuration quality spot-check | Needs Work | `renovate.json` is close, but includes stale package match (`@types/lodash`) not present in repo. | Prune stale rules and validate grouping/automerge intent against current deps. |
| CR-008 | Task orchestration | Turbo configuration spot-check at root and package levels | Needs Work | Root `turbo.json` includes boundaries/tags not reflected in package tags; package tag is `core`. | Reconcile boundary taxonomy and task model to intended enforcement. |
| CR-009 | Package metadata | package.json completeness per package and root | Needs Work | `packages/core-validation` has no `package.json`; `packages/core/package.json` is not publish-ready (`private`, `UNLICENSED`, missing publish settings). | Finalize publishable metadata for each package and align root/package responsibilities. |
| CR-010 | Documentation | Root README and package README completeness | Needs Work | Root `README.md` includes incorrect badge/repo references (`openendurance/fkt`) and links to missing files; package READMEs are empty. | Correct root links/badges and add package-level install/usage documentation. |
| CR-011 | Agent guidance | Add `.github/copilot-instructions.md` synthesized from AGENTS guidance | Looks Complete | `.github/copilot-instructions.md` now exists with core-specific repo scope, tooling, branching, release, and editorial guidance aligned to `AGENTS.md`. | Keep synchronized with `AGENTS.md` as conventions evolve. |
| CR-012 | Ownership model | CODEOWNERS granularity using org groups | Needs Work | `CODEOWNERS` has only a single wildcard owner mapping. | Replace with layered, path-specific ownership model similar to `config-dev`. |
| CR-013 | License compliance CI | Track migration of license scanning workflow to ORT-based checks | Needs Work | `.github/workflows/ci.yml` is present but no ORT/license-compliance workflow is defined in `.github/workflows/`. | Add explicit ORT license-compliance workflow and policy source pinning strategy. |
| CR-014 | Publish artifact hardening | Ensure `dist` package contents are deterministic and source-aligned | Needs Work | `packages/core/dist/` contains files not present in `packages/core/src/` (e.g., `oeiEntityMetadata.*`), indicating stale build output risk. | Add clean/prepack guardrails and verify publish artifact contract before first release. |
| ID | Workstream | Requested Check | Status | Evidence | Notes |
| ------ | -------------------------- | ---------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| CR-001 | Governance docs | AGENTS.md completion | Looks Complete | `AGENTS.md` now contains full core-specific guidance for scope, tooling, branching, docs, and release expectations. | Spot-check complete; refine over time as repo conventions evolve. |
| CR-002 | Linting | Biome configuration correctness | Not Audited | `biome.json` enables VCS ignore-file support; `.gitignore` excludes `*.tsbuildinfo`, `coverage/`, and `dist/`. | Artifact exclusions are configured; verify remaining configuration against the `config-dev` baseline. |
| CR-003 | TypeScript | Root tsconfig correctness and npm-based shared config usage | Needs Work | `tsconfig.json` is fully local and does not extend `@openendurance/config-typescript/*`. | Refactor to extend published npm preset and keep only local overrides. |
| CR-004 | Formatting | Prettier and Jest shared config usage from npm packages | Needs Work | No `.prettierrc*` or `prettier.config.*`; no `jest.config.*`; no `@openendurance/config-prettier` / `@openendurance/config-jest` usage. | Add shared-config consumption and package dependencies where required. |
| CR-005 | Lint workflow | Split scanning between Biome and Prettier | Needs Work | Split exists (`lint:prettier` + Biome paths), but root lint wiring differs from `config-dev` canonical shape. | Standardize root lint commands and keep markdown/yaml under Prettier checks. |
| CR-006 | Packaging and release | npm publishing setup, provenance, packaged `/dist`, workflows | Needs Work | `.github/workflows/ci.yml` now exists, but no release workflow is present; `packages/core/package.json` is `private: true` and has no `publishConfig.provenance`. | Add release workflow, publishing metadata, and first-release bootstrap plan. |
| CR-007 | Dependency maintenance | Renovate configuration quality spot-check | Needs Work | `renovate.json` is close, but includes stale package match (`@types/lodash`) not present in repo. | Prune stale rules and validate grouping/automerge intent against current deps. |
| CR-008 | Task orchestration | Turbo configuration spot-check at root and package levels | Needs Work | Root `turbo.json` includes boundaries/tags not reflected in package tags; package tag is `core`. | Reconcile boundary taxonomy and task model to intended enforcement. |
| CR-009 | Package metadata | package.json completeness per package and root | Looks Complete | `packages/core/package.json` now includes publish-ready metadata (`license`, `publishConfig`, repository/bugs/homepage, keywords), `ulidx` moved to package deps, and `packages/core-validation/package.json` now exists with explicit package identity/scope. | Complete for this phase; revisit `core-validation` publish intent when that package gains functionality. |
| CR-010 | Documentation | Root README and package README completeness | Needs Work | Root `README.md` includes incorrect badge/repo references (`openendurance/fkt`) and links to missing files; package READMEs are empty. | Correct root links/badges and add package-level install/usage documentation. |
| CR-011 | Agent guidance | Add `.github/copilot-instructions.md` synthesized from AGENTS guidance | Looks Complete | `.github/copilot-instructions.md` now exists with core-specific repo scope, tooling, branching, release, and editorial guidance aligned to `AGENTS.md`. | Keep synchronized with `AGENTS.md` as conventions evolve. |
| CR-012 | Ownership model | CODEOWNERS granularity using org groups | Needs Work | `CODEOWNERS` has only a single wildcard owner mapping. | Replace with layered, path-specific ownership model similar to `config-dev`. |
| CR-013 | License compliance CI | Track migration of license scanning workflow to ORT-based checks | Needs Work | `.github/workflows/ci.yml` is present but no ORT/license-compliance workflow is defined in `.github/workflows/`. | Add explicit ORT license-compliance workflow and policy source pinning strategy. |
| CR-014 | Publish artifact hardening | Ensure `dist` package contents are deterministic and source-aligned | Looks Complete | `packages/core` now cleans `dist` before build (`clean:build` in `build` script) and uses `prepack` to force fresh artifacts; validation build produced source-aligned `dist` with stale files removed. | Keep clean-before-build in place as the invariant for publish safety. |

## Audit Log

| Date | Change | Author |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| 2026-10-20 | Initialized registry from user-provided readiness list. | Copilot |
| 2026-10-20 | Completed audit of listed checklist items; all items remain open and require follow-up work. | Copilot |
| 2026-10-20 | Added approved additional findings: ORT license-compliance workflow tracking and publish artifact hardening; excluded commit-history remediation tracking per operator direction. | Copilot |
| 2026-10-20 | Completed CR-001 by replacing placeholder `AGENTS.md` with a core-specific guidance document; marked CR-001 as `Looks Complete`. | Copilot |
| 2026-10-20 | Completed CR-011 by adding `.github/copilot-instructions.md` synthesized from `AGENTS.md`; marked CR-011 as `Looks Complete`. | Copilot |
| Date | Change | Author |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| 2026-10-20 | Initialized registry from user-provided readiness list. | Copilot |
| 2026-10-20 | Completed audit of listed checklist items; all items remain open and require follow-up work. | Copilot |
| 2026-10-20 | Added approved additional findings: ORT license-compliance workflow tracking and publish artifact hardening; excluded commit-history remediation tracking per operator direction. | Copilot |
| 2026-10-20 | Completed CR-001 by replacing placeholder `AGENTS.md` with a core-specific guidance document; marked CR-001 as `Looks Complete`. | Copilot |
| 2026-10-20 | Completed CR-011 by adding `.github/copilot-instructions.md` synthesized from `AGENTS.md`; marked CR-011 as `Looks Complete`. | Copilot |
| 2026-10-20 | Completed CR-009 and CR-014 by updating package metadata for `@openendurance/core`, adding `packages/core-validation/package.json`, and hardening build artifact generation with clean-before-build + prepack. | Copilot |
8 changes: 3 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
"name": "@openendurance",
"version": "0.0.0",
"private": true,
"license": "UNLICENSED",
"license": "Apache-2.0",
"author": "Kristopher Cargile <k@algorythmic.com>",
"description": "Open Endurance Initiative core components.",
"description": "Open Endurance Initiative (OEI) core components.",
"packageManager": "pnpm@11.22.0",
"engines": {
"node": ">=24"
Expand Down Expand Up @@ -51,7 +51,5 @@
"turbo": "^2.10.5",
"typescript": "^6.0.3"
},
"dependencies": {
"ulidx": "^2.4.1"
}
"dependencies": {}
}
37 changes: 37 additions & 0 deletions packages/core-validation/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"$schema": "https://json.schemastore.org/package",
"name": "@openendurance/core-validation",
"version": "0.0.0",
Comment thread
kcargile marked this conversation as resolved.
Resolved
"license": "Apache-2.0",
"author": "The OEI Team <team@openendurance.com>",
"description": "Validators for Open Endurance Initiative (OEI) core libraries.",
"repository": {
"type": "git",
"url": "git+https://github.com/openendurance/core.git"
},
"keywords": [
"cycling",
"endurance-sports",
"fitness",
"group-ride",
"group-run",
"group-runners",
"grouprunfinder",
"healthtech",
"hiking",
"mountain-biking",
"oei",
"open-endurance-initiative",
"open-source",
"openenduranceinitiative",
"running",
"thru-hiking",
"ultrarunning"
],
"sideEffects": false,
"type": "module",
"dependencies": {
"ulidx": "^2.4.1",
"zod": "^4.6.7"
}
}
Loading
Loading