Repository navigation
Enhance Core Publish Readiness Registry and Update Documentation #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
ac361a0
intro commit-signing.md (#5)
kcargile f3bbfa7
Update settings and README for improved configuration and clarity
kcargile de7aa1a
Add Core Publish Readiness Registry and update TOC
kcargile ff5b424
Add CI workflow configuration for pull requests and pushes (#6)
kcargile 868194d
Add tracking for license compliance CI and publish artifact hardening…
kcargile 048cf54
Update AGENTS.md with comprehensive core-specific guidance and mark C…
kcargile 2c17c6d
Finalize core agent guidance documentation and add GitHub Copilot ins…
kcargile 90185fc
Update lint:root script to use prettier for file checks
kcargile 76d0965
Revise core publish readiness registry checks
kcargile fea3a02
address linter issues in CI
kcargile efa4ee5
set Jest to passWithNoTests
kcargile 396ae79
Fix signing key path in commit-signing.md
kcargile a1246ab
Revise commit signing command in documentation
kcargile ed29972
Fix command for checking commit signature
kcargile 25fced7
Merge branch 'develop' into k/cr-001-agentsmd
kcargile File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@openendurance/core": patch | ||
| --- | ||
|
|
||
| Finalize core agent guidance docs (AGENTS + Copilot instructions) |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,87 @@ | ||
| # GitHub Copilot Instructions | ||
|
|
||
| ## What this repo is | ||
|
|
||
| Shared foundational TypeScript libraries for Open Endurance Initiative (OEI) | ||
| products and platform services. | ||
|
|
||
| This repository is a pnpm + Turborepo monorepo with publishable npm packages | ||
| that serve as platform-layer building blocks (domain primitives, shared types, | ||
| and validation contracts). It is not a single deployable application. | ||
|
|
||
| **This repo has high blast radius relative to its size.** Changes to shared | ||
| packages can affect multiple OEI product repositories when dependency ranges | ||
| are updated. | ||
|
|
||
| ## Package layout | ||
|
|
||
| | Package | Purpose | | ||
| | -------------------------------- | ------------------------------------------------------------- | | ||
| | `@openendurance/core` | Core domain primitives and shared types used across products. | | ||
| | `@openendurance/core-validation` | Validation package surface. | | ||
|
|
||
| Package source lives under `packages/<name>/src`. | ||
|
|
||
| Package build output lives under `packages/<name>/dist` and is generated. | ||
| Do not treat `dist` as source of truth. | ||
|
|
||
| ## Documentation | ||
|
|
||
| The `docs/` tree is the durable knowledge base for this repository. | ||
|
|
||
| - `docs/README.md` explains documentation conventions | ||
| - `docs/TOC.md` is the canonical docs index | ||
| - `docs/adr/` stores immutable architecture decisions | ||
| - `docs/arch/` stores current-state architecture documentation | ||
| - `docs/ops/` stores operational runbooks and procedures | ||
| - `docs/generated/` is for generated artifacts only | ||
| - `docs/registry/` stores continuously maintained tracking registries | ||
| - `docs/wiki/` stores living notes and working references | ||
|
|
||
| ## Branching and commits | ||
|
|
||
| - GitHub Flow: feature branches -> PR into `develop` -> `develop` -> `main`. | ||
| - Breaking changes never land directly on `main`. | ||
| - Every commit requires both a DCO sign-off and a cryptographic signature. | ||
| - If generating commits on someone's behalf, check signing config first: | ||
| `git config --get commit.gpgsign`. | ||
|
|
||
| ## Tooling | ||
|
|
||
| - Package manager: `pnpm` only (`preinstall` enforces this). | ||
| - Monorepo task orchestration: `turbo`. | ||
| - Primary language: TypeScript. | ||
| - Linting and formatting are intentionally split by file type: | ||
| - JS/TS/JSON/JSONC: Biome | ||
| - Markdown/YAML: Prettier | ||
|
|
||
| Use repo scripts where possible: | ||
|
|
||
| - `pnpm lint` | ||
| - `pnpm build` | ||
| - `pnpm typecheck` | ||
| - `pnpm test` | ||
|
|
||
| CI lives in `.github/workflows/ci.yml` and should remain focused on repository | ||
| health checks (lint, build, typecheck, test), not deployment orchestration. | ||
|
|
||
| ## Releases | ||
|
|
||
| - Changesets controls versioning and changelogs. | ||
| - Publishable packages should use npm provenance | ||
| (`publishConfig.provenance: true`) at the package level. | ||
| - Treat changes to package names, exports, publish metadata, and release | ||
| workflow behavior as sensitive. | ||
|
|
||
| ## Editorial posture | ||
|
|
||
| - Prefer small, targeted edits over broad rewrites. | ||
| - Keep docs synchronized with package reality. | ||
| - If a change affects package behavior, exports, release flow, or ownership, | ||
| update docs and registries in the same work item. | ||
|
|
||
| ## This is a public OSS repository | ||
|
|
||
| Apache-2.0 licensed. Contribution process, code of conduct, and security | ||
| reporting are managed at the OEI organization level and should not be | ||
| needlessly duplicated per repository. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,90 @@ | ||
| # AGENTS.md | ||
|
|
||
| This is the OEI Core project. | ||
| ## What this repo is | ||
|
|
||
| Shared foundational TypeScript libraries for Open Endurance Initiative (OEI) | ||
| products and platform services. | ||
|
|
||
| This repository is a pnpm + Turborepo monorepo that contains publishable npm | ||
| packages used as platform-layer building blocks (domain primitives, shared | ||
| types, and validation contracts). It is not a single deployable application. | ||
|
|
||
| This repo has high blast radius relative to its size. Changes to shared | ||
| packages can propagate into multiple OEI product repositories the next time | ||
| they update dependency ranges. | ||
|
|
||
| ## Package layout | ||
|
|
||
| | Package | Purpose | | ||
| | -------------------------------- | ------------------------------------------------------------- | | ||
| | `@openendurance/core` | Core domain primitives and shared types used across products. | | ||
| | `@openendurance/core-validation` | Validation package surface. | | ||
|
|
||
| Package source lives under `packages/<name>/src`. | ||
|
|
||
| Package build output lives under `packages/<name>/dist` and is generated. | ||
| Do not treat `dist` as source of truth. | ||
|
|
||
| ## Documentation | ||
|
|
||
| The `docs/` tree is the durable project knowledge base. | ||
|
|
||
| - `docs/README.md` explains documentation conventions | ||
| - `docs/TOC.md` is the canonical documentation index | ||
| - `docs/adr/` stores immutable architecture decisions | ||
| - `docs/arch/` stores current-state architecture documentation | ||
| - `docs/ops/` stores operational runbooks and procedures | ||
| - `docs/generated/` is reserved for generated artifacts only | ||
| - `docs/registry/` stores continuously updated tracking registries | ||
| - `docs/wiki/` stores living notes and working references | ||
|
|
||
| ## Branching and commits | ||
|
|
||
| - GitHub Flow: feature branches -> PR into `develop` -> `develop` -> `main`. | ||
| - Breaking changes do not land directly on `main`. | ||
| - Every commit requires both a DCO sign-off and a cryptographic signature. | ||
| - If generating commits on someone's behalf, verify signing config first: | ||
| `git config --get commit.gpgsign`. | ||
|
|
||
| ## Tooling | ||
|
|
||
| - Package manager: `pnpm` only (`preinstall` enforces this). | ||
| - Monorepo orchestration: `turbo`. | ||
| - Primary language: TypeScript. | ||
| - Formatting/linting is intentionally split by file type: | ||
| - JS/TS/JSON/JSONC: Biome | ||
| - Markdown/YAML: Prettier | ||
| - Typical repo health commands: | ||
| - `pnpm lint` | ||
| - `pnpm build` | ||
| - `pnpm typecheck` | ||
| - `pnpm test` | ||
|
|
||
| CI is defined in `.github/workflows/ci.yml` and is scoped to repository health | ||
| checks (lint, build, typecheck, test). Keep CI focused and avoid coupling it | ||
| to deployment steps. | ||
|
|
||
| ## Releases | ||
|
|
||
| - Changesets controls versioning and changelogs. | ||
| - Package publishing should use npm provenance (`publishConfig.provenance: true`) | ||
| at the package level for publishable packages. | ||
| - Changes to publishing metadata, release workflows, package names, exported | ||
| entrypoints, or packaged file lists should be treated as sensitive. | ||
|
|
||
| ## This is a public OSS repository | ||
|
|
||
| Apache-2.0 licensed. Contribution process, code of conduct, and security | ||
| reporting are owned at the OEI organization level rather than duplicated in | ||
| each repository. | ||
|
|
||
| <!-- BEGIN:turborepo-agent-rules --> | ||
|
|
||
| # This is NOT the Turborepo you know | ||
|
|
||
| Turborepo configuration, task behavior, and CLI commands can vary between installed versions and may differ from your training data. Resolve the `turbo` package from this file's directory or relevant workspace; in monorepos, it may not be visible from the repository root. For example, run `node -p "require.resolve('turbo/package.json')"` from a workspace that depends on `turbo`. | ||
|
|
||
| Read `docs/README.md` inside that installed package first, then read the relevant pages from its `docs/` directory before changing Turborepo configuration or commands. Heed deprecation notices. These bundled docs match the installed package version and are available without network access. | ||
|
|
||
| This block is written and re-added by `turbo` before repository-scoped commands when an AI agent is detected. In the Turborepo source repository, its template is defined in `crates/turborepo-cli/src/cli/agent_guidance.rs`. Removing the managed block while updates are enabled means a later qualifying invocation will add it again. Set `"agentGuidance": false` in the root `turbo.json` or `turbo.jsonc` to opt out; this does not remove an existing block. Keep the block committed with your work to avoid an uncommitted change on the next agent invocation. | ||
| <!-- END:turborepo-agent-rules --> |
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| # Core Publish Readiness Registry | ||
|
|
||
| Tracks publish-readiness work required to bring OEI Core to the same baseline used by `config-dev` and `config-ort`. | ||
|
|
||
| ## Scope | ||
|
|
||
| - Repository: `core` | ||
| - Baseline references: `config-dev`, `config-ort` | ||
| - Initial source: user-provided checklist on 2026-10-20 | ||
|
|
||
| ## Status Legend | ||
|
|
||
| - `Not Audited`: listed but not yet verified in-repo | ||
| - `Needs Work`: verified and currently incomplete or incorrect | ||
| - `Looks Complete`: verified and appears complete (spot-check only) | ||
| - `Blocked`: cannot verify without external context or permissions | ||
|
|
||
| ## 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. | | ||
|
|
||
| ## 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 | |
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| packages: | ||
| - "apps/*" | ||
| - "packages/*" | ||
| - "apps/*" | ||
| - "packages/*" | ||
| allowBuilds: | ||
| '@parcel/watcher': true | ||
| protobufjs: true | ||
| unrs-resolver: true | ||
| "@parcel/watcher": true | ||
| protobufjs: true | ||
| unrs-resolver: true |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.