Vendor the clean-room Core engine into src/Core/ #3

Closed
opened 2026-07-01 01:04:24 +00:00 by manlycucumber · 1 comment
manlycucumber commented 2026-07-01 01:04:24 +00:00 (Migrated from github.com)

Problem

The MVP must run with no API. The new clean-room Core library is vendored into the plugin so the engine ships inside the plugin bundle. This must never pull in the old abandoned engine.

Acceptance criteria

  • Core is vendored under src/Core/ via a documented, repeatable build/copy step (not hand-copied).
  • The vendored Core is pinned to an explicit Core version recorded in the plugin.
  • A guard in CI fails if any file path or class reference resembling the old 3M-I engine is present.
  • The plugin can resolve a liturgical day through the bundled Core with no network access.

Notes

Clean-room constraint: never port or reference the old engine. Core carries its own AGPL license; the plugin remains GPL-2.0-or-later and documents the bundled component.

## Problem The MVP must run with no API. The new clean-room Core library is vendored into the plugin so the engine ships inside the plugin bundle. This must never pull in the old abandoned engine. ## Acceptance criteria - [ ] Core is vendored under src/Core/ via a documented, repeatable build/copy step (not hand-copied). - [ ] The vendored Core is pinned to an explicit Core version recorded in the plugin. - [ ] A guard in CI fails if any file path or class reference resembling the old 3M-I engine is present. - [ ] The plugin can resolve a liturgical day through the bundled Core with no network access. ## Notes Clean-room constraint: never port or reference the old engine. Core carries its own AGPL license; the plugin remains GPL-2.0-or-later and documents the bundled component.
manlycucumber commented 2026-07-03 18:37:05 +00:00 (Migrated from github.com)

Done in #105. Core vendored into src/Core/ via bin/vendor-core.php (repeatable), pinned to 0.4.0 / ref cf55645 in CORE_VERSION; CI clean-room guard (bin/check-no-old-engine.php) fails on any non-Introibo namespace or old-engine token; PHPUnit resolves days through the bundled engine with no network (Nativity + SSPX overlay).

Done in #105. Core vendored into src/Core/ via bin/vendor-core.php (repeatable), pinned to 0.4.0 / ref cf55645 in CORE_VERSION; CI clean-room guard (bin/check-no-old-engine.php) fails on any non-Introibo namespace or old-engine token; PHPUnit resolves days through the bundled engine with no network (Nativity + SSPX overlay).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Ordo#3
No description provided.