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
2 changes: 1 addition & 1 deletion .agent-context/GAPS_TRACEABILITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ purpose (growth-programme success measure).

The open/partial gaps are now promoted to the trusted corpus (the pattern set by
`rac-traceability-self-relationships`): the `relationship-vocabulary` roadmap with
a requirement per gap, tracked under epic **itsthelore/rac-core#236**.
a requirement per gap, tracked under epic **asdecided/core#236**.

| Gap(s) | Requirement |
| --- | --- |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ name: Docs

# Build-only check for the docs/ MkDocs source. Strict mode turns broken
# links and nav entries into build failures. This no longer deploys to
# GitHub Pages (ADR-101): itsthelore.github.io/rac-core/ is now served by
# the itsthelore/itsthelore.github.io umbrella site, which vendors docs/ at
# GitHub Pages (ADR-101): asdecided.github.io/core/ is now served by
# the asdecided/asdecided.github.io umbrella site, which vendors docs/ at
# build time. Once that repo's site is live, disable Pages on this repo
# (Settings -> Pages -> Source) so its own project-page deployment stops
# shadowing the umbrella site at that URL.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/native-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
contents: read
packages: write
env:
IMAGE: ghcr.io/itsthelore/rac
IMAGE: ghcr.io/asdecided/core
TAG: ${{ github.event.release.tag_name }}
steps:
- uses: actions/checkout@v5
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/rust-spike.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Native Rust CI. Contract bytes are owned by rac-spec; the evolving RAC
# Native Rust CI. Contract bytes are owned by asdecided-spec; the evolving RAC
# repository corpus is exercised through invariants rather than snapshots.

name: rust-spike
Expand Down Expand Up @@ -71,21 +71,21 @@ jobs:
working-directory: rust
run: cargo clippy --release --no-deps -- -D warnings

- name: Checkout authoritative rac-spec fixtures
- name: Checkout authoritative asdecided-spec fixtures
uses: actions/checkout@v4
with:
repository: itsthelore/rac-spec
path: rac-spec
repository: asdecided/spec
path: asdecided-spec

- name: Guard 1 — vendored registry matches rac-spec
- name: Guard 1 — vendored registry matches asdecided-spec
env:
DECIDED_SPEC_DIR: ${{ github.workspace }}/rac-spec
DECIDED_SPEC_DIR: ${{ github.workspace }}/asdecided-spec
run: python rust/spec/sync_spec.py

- name: Guard 2 — Rust reproduces rac-spec contract bytes
- name: Guard 2 — Rust reproduces asdecided-spec contract bytes
run: |
python rust/tools/conformance_certify.py \
--spec-dir "${{ github.workspace }}/rac-spec" \
--spec-dir "${{ github.workspace }}/asdecided-spec" \
--engine "rust=${{ github.workspace }}/rust/target/release/decided"

- name: Live RAC corpus invariants
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/watchkeeper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#
# jobs:
# watchkeeper:
# uses: itsthelore/rac-core/.github/workflows/watchkeeper.yml@<tag>
# uses: asdecided/core/.github/workflows/watchkeeper.yml@<tag>
# with:
# path: decisions
#
Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
# Reusable workflows run in the caller's repository, so the action is
# referenced by full path. Update this ref when cutting a release tag;
# until the first v0.12.x release it tracks main.
- uses: itsthelore/rac-core@main
- uses: asdecided/core@main
with:
path: ${{ inputs.path }}
base: ${{ inputs.base }}
Expand Down
20 changes: 13 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ details, release history over commit history.

## Unreleased

- Renamed the native engine repository to `asdecided/core`, the
language-neutral contract repository to `asdecided/spec`, and the
CI delivery repository to `asdecided/ci`. Active documentation,
release metadata, CI checkouts, and OCI publication now use the canonical
AsDecided repository names. Stable `RAC-*` artifact IDs remain unchanged.

## v0.23.1 — 2026-07-24

- Fixed native Windows compilation by using portable filesystem metadata,
Expand All @@ -25,7 +31,7 @@ published machine-schema keys remain unchanged. Rust is the normal product
engine, Explorer is retired, and ingest leaves core as an ancillary connector.
The Python engine, package, PyPI release path, compatibility oracle, Explorer,
and ingest implementation have been removed from `rac-core`. Python API access
belongs in `itsthelore/rac-sdk`; the final former engine remains available only
belongs in `asdecided/sdk`; the final former engine remains available only
at the immutable `python-engine-final` Git tag for historical review.

**Decisions on pull requests — the Herald action**
Expand All @@ -37,9 +43,9 @@ a merge gate (ADR-034/067): the check never fails on findings, and on
forks the comment degrades to the step summary. A thin client over
`rac decisions-for --json` (ADR-063) with no engine change; the action
ships in the CI delivery repo as
`itsthelore/rac-ci/herald/github` beside Watchkeeper, Gatekeeper, and
`asdecided/ci/herald/github` beside Watchkeeper, Gatekeeper, and
Registrar, and is documented on the new
[Decisions on PRs](https://itsthelore.github.io/rac-core/decisions-on-pr/)
[Decisions on PRs](https://asdecided.github.io/core/decisions-on-pr/)
page.

**The org grounding plane** (ADR-117). One org-standards corpus behind the
Expand All @@ -49,7 +55,7 @@ wires a repository to it: the `lore-org` streamable-HTTP entry is ensured in
`.mcp.json` and `.cursor/mcp.json`, on fresh **and** already-initialized
repositories, merging into existing files (only the `lore-org` key is
touched, nothing you wrote is removed) and writing nothing on an unchanged
re-run. The new [Org Grounding](https://itsthelore.github.io/rac-core/org-grounding/)
re-run. The new [Org Grounding](https://asdecided.github.io/core/org-grounding/)
page is the operator runbook: the org corpus, the shared-server recipe, fleet
wiring, boundaries, and the federation handoff (ADR-089 stays untouched — no
cross-corpus resolution enters the engine). The `rac init --json` contract
Expand Down Expand Up @@ -178,7 +184,7 @@ as candidate relationships.
shared HTTP serving blocks a call if the audit sink write fails
(ADR-098). stdio behaviour is unchanged.
- **Operator guide for the shared server.** A new
[Shared Server](https://itsthelore.github.io/rac-core/shared-server/) doc
[Shared Server](https://asdecided.github.io/core/shared-server/) doc
covers when to run one, the container and authenticating-proxy recipe, keeping
the checkout current with `main`, and where observability lives — the whole
topology is deployment wrapper around an unchanged, database-free engine.
Expand Down Expand Up @@ -373,8 +379,8 @@ why this release now carries a `vX.Y.Z` number; compatibility stays on
### Changed

- The TypeScript stack moved out of this repository (v0.22.5). The client SDK
now lives in `itsthelore/rac-sdk-ts`, published to npm as
`@itsthelore/rac-sdk`, and the VS Code extension in `itsthelore/lore-vscode`,
now lives in `asdecided/sdk`, published to npm as
`@asdecided/sdk`, and the VS Code extension in `asdecided/editors`,
consuming that published package instead of the former in-repo
`file:../rac-sdk` path. The in-repo `typescript/` directory and its CI
(`typescript.yml`, `sdk-release.yml`, `extension-release.yml`) are removed.
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
The toolchain is pinned by `rust/rust-toolchain.toml`.

```bash
git clone https://github.com/itsthelore/rac-core.git
git clone https://github.com/asdecided/core.git
cd rac-core/rust
rustup show
cargo build --workspace --locked
Expand All @@ -26,7 +26,7 @@ target/release/decided relationships ../decisions/ --validate
The small Python programs under `rust/tools/` and `rust/spec/` are repository
verification utilities. They are not a Python product engine or installable
SDK. Cross-repository compatibility is certified against
[`rac-spec`](https://github.com/itsthelore/rac-spec).
[`asdecided-spec`](https://github.com/asdecided/spec).

## Documentation expectations

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ FROM debian:bookworm-slim
ARG DECIDED_VERSION=dev
LABEL org.opencontainers.image.title="rac" \
org.opencontainers.image.description="RAC (Lore) requirements-as-code CLI" \
org.opencontainers.image.source="https://github.com/itsthelore/rac-core" \
org.opencontainers.image.source="https://github.com/asdecided/core" \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.version="${DECIDED_VERSION}"

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,17 @@ same repository state produces the same answer.

## Install

Install the complete RAC toolchain through Homebrew:
Install the native engine and MCP server through Homebrew:

```sh
brew install itsthelore/tap/rac-full
brew install asdecided/tap/asdecided-core
```

Native `decided` and `decided-mcp` archives are also published on
[GitHub Releases](https://github.com/itsthelore/rac-core/releases).
[GitHub Releases](https://github.com/asdecided/core/releases).

`rac-core` is no longer distributed through PyPI. Python API consumers should
use [`itsthelore/rac-sdk`](https://github.com/itsthelore/rac-sdk), which is a
use [`asdecided/sdk`](https://github.com/asdecided/sdk), which is a
client SDK rather than a second engine implementation.

## Start a repository
Expand Down Expand Up @@ -72,13 +72,13 @@ refuses to overwrite either destination.

Rust is the product engine and the only CLI/MCP runtime in this repository.
The authoritative language-neutral compatibility fixtures live in
[`rac-spec`](https://github.com/itsthelore/rac-spec). Live-corpus validation is
[`asdecided-spec`](https://github.com/asdecided/spec). Live-corpus validation is
based on validity, determinism, freshness, and cache/no-cache equality.

Document ingestion remains an ancillary Python connector rather than part of
the core engine. The retired Python engine is preserved for historical review
at the immutable
[`python-engine-final`](https://github.com/itsthelore/rac-core/tree/python-engine-final)
[`python-engine-final`](https://github.com/asdecided/core/tree/python-engine-final)
tag; it is not maintained or run in normal CI.

## License
Expand Down
4 changes: 2 additions & 2 deletions decisions/decisions/adr-042-docs-site-hosting.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
schema_version: 1
id: RAC-KTYXDTB4299E
Expand All @@ -16,9 +16,9 @@
## Context

> **Amended by ADR-101.** This ADR's project-page hosting model — `rac-core`
> publishing its own `docs/` to `itsthelore.github.io/rac-core/` via its own
> publishing its own `docs/` to `asdecided.github.io/core/` via its own
> `docs.yml` — is retired in favor of an org-wide umbrella site
> (`itsthelore.github.io`) that vendors `docs/` from each product repo at
> (`asdecided.github.io`) that vendors `docs/` from each product repo at
> build time. ADR-101 governs where the two differ (the publishing repo and
> mechanism); this ADR's authoritative-source and build-artifact discipline
> (repository Markdown is canonical, the site is never a second source of
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
schema_version: 1
id: RAC-KVA44MVMDXXX
Expand Down Expand Up @@ -82,7 +82,7 @@
| --- | --- | --- |
| `rac-core` | The engine `src/rac/` (incl. the Python SDK surface, ADR-062), the dogfood corpus `rac/`, `examples/`, and the vendored viewer dir `rac-localview/` | The engine and its build-coupled internals. PyPI name stays `requirements-as-code` (ADR-036). |
| `rac-localview` | The local Portal / graph viewer, vendored into the engine via a build script + drift-guard | Build-coupled internal of the engine; not separately installed while vendored. |
| `rac-sdk-ts` | The TypeScript client `@rac/sdk`, published to npm as `@itsthelore/rac-sdk` | A typed client mirroring the engine contract (ADR-063). |
| `rac-sdk-ts` | The TypeScript client `@rac/sdk`, published to npm as `@asdecided/sdk` | A typed client mirroring the engine contract (ADR-063). |
| `lore-vscode` | The VS Code extension — one VSIX to Marketplace + OpenVSX; runs in VS Code and, as a fork, Cursor | A surface a user installs (the first per-client repo). |
| `lore-watchkeeper` | The Watchkeeper action (root `action.yml`) | A surface a team installs into CI. |
| `lore-gatekeeper` | The gate action = `pr-gate-action` (`rac gate`); the older `validate-action` is folded in / deprecated by it (ADR-058 moves with the gate) | A surface a team installs into CI; the real enforcement gate (ADR-049). |
Expand All @@ -98,7 +98,7 @@
### Per-client integration repositories

Each client integration is **its own `lore-<client>` repository**, consuming the
published `@itsthelore/rac-sdk` — never engine internals (ADR-063). One repo per
published `@asdecided/sdk` — never engine internals (ADR-063). One repo per
client is the model; a single `lore-extensions` container is rejected (it fights
independent per-client cadence and ownership). Today there is exactly one:
`lore-vscode`. Planned siblings — created when each is built, and **not part of
Expand Down
8 changes: 4 additions & 4 deletions decisions/decisions/adr-092-repository-topology.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
schema_version: 1
id: RAC-KW5A03ZHXN9F
Expand All @@ -16,7 +16,7 @@

## Context

> **Extended by ADR-101.** ADR-101 adds `itsthelore.github.io` to the target
> **Extended by ADR-101.** ADR-101 adds `asdecided.github.io` to the target
> topology below as the org's documentation-aggregation site — its own repo
> per GitHub's root-Pages naming rule, not a family-pattern member. That ADR
> governs the site's hosting and vendoring model; this ADR governs its place
Expand Down Expand Up @@ -90,7 +90,7 @@
| `rac-editors` | IDE clients | `vscode/` (VS Code/Cursor) (+ `jetbrains/`, …) |
| `wayfinder-router` | separate product (ADR-069) | — |
| `proofkeeper` | separate product (BYO-model QA agent) | — |
| `itsthelore.github.io` | org presence + docs aggregation (ADR-101) | — |
| `asdecided.github.io` | org presence + docs aggregation (ADR-101) | — |

`rac-connectors` is the rename of the existing `lore-connectors`; `rac-ci` is the
rename/absorption of `rac-actions` plus the standalone `lore-watchkeeper` /
Expand All @@ -107,7 +107,7 @@
by platform, so the ADR-090 "capability-first" intent holds; `lore-pipelines` is
not created. Accepted tradeoffs: coupled version tags (one suite version, which
is simpler for consumers) and no per-action Marketplace listing (consumed via
`uses: itsthelore/rac-ci/<capability>@<ref>`).
`uses: asdecided/ci/<capability>@<ref>`).
- **`rac-connectors` is one repo** covering inbound (`rac ingest`) + outbound
(`rac export`) + provider suites; **Atlassian is a subdir**, not its own repo —
deployment and multi-direction do not force a repo boundary.
Expand Down Expand Up @@ -211,7 +211,7 @@
- ADR-069: Wayfinder is a separate product; Proofkeeper is its sibling.
- ADR-029, ADR-039: engine + server stay one package; CLI `rac` and server `lore`
identities unchanged.
- ADR-101: adds `itsthelore.github.io` to this table and governs its docs
- ADR-101: adds `asdecided.github.io` to this table and governs its docs
hosting and vendoring model, including retiring `rac-core`'s project page.

## Related Decisions
Expand Down
22 changes: 11 additions & 11 deletions decisions/decisions/adr-101-org-docs-site-and-topology.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
schema_version: 1
id: RAC-KWV0HZ2SSGE2
Expand All @@ -17,7 +17,7 @@
## Context

ADR-042 hosts `rac-core`'s user documentation at
`https://itsthelore.github.io/rac-core/` — a GitHub Pages *project* page built
`https://asdecided.github.io/core/` — a GitHub Pages *project* page built
by `rac-core`'s own `docs.yml` workflow from that repository's `docs/` with
MkDocs (Material theme). That scope was correct when `rac-core` was the only
public surface, but ADR-092 now names a small constellation of `rac-*`
Expand All @@ -28,7 +28,7 @@

GitHub serves a user/org root Pages site — with no `/repo-name/` path prefix —
only from a repository named exactly `<org>.github.io`. `itsthelore/
itsthelore.github.io` has been created for this purpose: it is public (a
asdecided.github.io` has been created for this purpose: it is public (a
private repo would need a paid org plan for Pages, and the rendered output is
public by default anyway), and deploys via GitHub Actions
(`actions/upload-pages-artifact` → `actions/deploy-pages@v4`), matching the
Expand All @@ -47,12 +47,12 @@

## Decision

`itsthelore.github.io` becomes the hosted documentation surface for the whole
`asdecided.github.io` becomes the hosted documentation surface for the whole
org. It **aggregates `docs/` from each product repo at build time** rather
than linking out to per-repo project pages.

- The site is built with Astro and deployed to GitHub Pages by a GitHub
Actions workflow in `itsthelore.github.io`, using the same
Actions workflow in `asdecided.github.io`, using the same
`upload-pages-artifact` / `deploy-pages@v4` steps ADR-042 established.
- **Vendor contract:** the build sparse-checks out each source repo's `docs/`
directory at a pinned ref (a tag or `main`, per repo) into the Astro content
Expand All @@ -70,14 +70,14 @@
the site, in `rac-core` or any other member repo.
- `rac-core`'s project-page deployment is **retired**: `docs.yml`'s Pages
publish step is removed once the umbrella site's `/rac-core/` section is
live, so `itsthelore.github.io/rac-core/` is served by the umbrella
live, so `asdecided.github.io/core/` is served by the umbrella
deployment instead of `rac-core`'s own. `rac-core` keeps its `docs/`
directory and MkDocs config for local `mkdocs serve` authoring; it stops
being a second published surface at that URL. Disabling the old Pages
deployment is a manual repository-settings action only the maintainer can
take (the same class of manual step ADR-042 already required to enable
Pages in the first place).
- Naming: `itsthelore.github.io` is added to ADR-092's topology table as its
- Naming: `asdecided.github.io` is added to ADR-092's topology table as its
own repository — a distinct concern (org presence and docs aggregation),
not a family-pattern member and not folded into any consolidated repo,
because GitHub's root-Pages rule forces this exact name regardless of the
Expand All @@ -101,12 +101,12 @@

- The umbrella build now depends on the state of every vendored repo at
build time; a broken or unreachable source repo can fail the umbrella
build even though `itsthelore.github.io` itself has not changed.
build even though `asdecided.github.io` itself has not changed.
- Retiring `rac-core`'s project-page deployment is a breaking change for
anyone who bookmarked or linked `itsthelore.github.io/rac-core/` expecting
anyone who bookmarked or linked `asdecided.github.io/core/` expecting
`rac-core`'s own MkDocs build; the URL keeps working but the rendering
engine and look change underneath it.
- One more repository (`itsthelore.github.io`) with its own build pipeline
- One more repository (`asdecided.github.io`) with its own build pipeline
and brand/design surface to maintain, on top of ADR-092's topology.

### Risks
Expand All @@ -125,7 +125,7 @@

### Stand-alone landing site, link out to each product's own docs

Keep `itsthelore.github.io` as a brand/landing page only, with outbound links
Keep `asdecided.github.io` as a brand/landing page only, with outbound links
to `rac-core`'s existing project page and to each future product's own Pages
site.

Expand All @@ -148,7 +148,7 @@

#### Advantages

- No breaking change to the existing `itsthelore.github.io/rac-core/` URL's
- No breaking change to the existing `asdecided.github.io/core/` URL's
rendering engine.

#### Disadvantages
Expand Down
4 changes: 2 additions & 2 deletions decisions/decisions/adr-102-org-site-brand-direction.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
schema_version: 1
id: RAC-KWV63BR8AW71
Expand All @@ -16,7 +16,7 @@

## Context

ADR-101 made `itsthelore.github.io` the org-wide documentation site, and
ADR-101 made `asdecided.github.io` the org-wide documentation site, and
ADR-092 places the brand at the org rather than in repository slugs. The
site's first iterations translated rac-localview's design system — amber on
warm near-black, JetBrains Mono for all text, dashed chrome, pixel-art
Expand All @@ -40,7 +40,7 @@

## Decision

The org documentation site (`itsthelore.github.io`, ADR-101) adopts its own
The org documentation site (`asdecided.github.io`, ADR-101) adopts its own
**light, restrained visual identity** rather than mirroring the rac-localview
product-UI theme:

Expand Down
Loading
Loading