Skip to content

feat(cli): activate installed Packages with apply - #642

Merged
Mathih13 merged 4 commits into
mainfrom
feat/package-apply
Oct 10, 2026
Merged

Mathih13 merged 4 commits into
mainfrom
feat/package-apply

Conversation

@Mathih13

@Mathih13 Mathih13 commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Installing a Package leaves users to choose and order separate build, publish, and artifact commands. replay is also unclear for activating Runtime Scripts.

Pin the CLI merged in LyraCoreProject/lyracore-cli#71. packages apply prepares artifacts, publishes Rust Packages when required, repairs schedules, and applies artifacts to each selected Shard. Add the activation step to the Core install guides and link the Package Inventory glossary and operator guidance to one command description. Explain when disabled Rust Packages trigger publishing and which command restores Module schedules and fixtures. Package instructions are updated in LyraCoreProject/packages#79.

Validation: the pinned shim installs, full help exposes packages apply, destructive flags are refused, and packages replay returns its migration hint. The CLI passed 773 tests, Clippy, Rust 1.85, and independent standards and adversarial reviews. No live Realm was changed.

Authored with GPT-6-Astra through the Codex harness in T3 Code.

Copy link
Copy Markdown
Contributor Author

Code review: main...add717d

There is no linked issue, so the PR description serves as the spec. The diff is 13 lines in 4 files, so I ran both axes in one pass and did not spawn sub-agents.

What I checked against the pin: I ran ./lyracore from this checkout. It installs 6515874. help --all lists packages apply, and packages replay prints the rename hint. No replay references remain in this repo.

Standards

  1. Medium. CONTEXT.md:985: the new paragraph is not attached to any glossary entry. It comes after the _Avoid_ line of Package Inventory, so it is neither part of that entry nor a term of its own. Every other block follows the **Term**: → definition → _Avoid_ shape. Fix: move it above the _Avoid_ line of the entry it belongs to. Or, since it describes a command and not a domain term, move it to packages/README.md (see Spec 1).
  2. Medium. CONTEXT.md:985: the paragraph uses words the glossary does not define (AGENTS.md, "Use the glossary terms").
    • "the inventory contains Rust": the Package Inventory includes .lyracore/packages-disabled/, and the build cannot see that directory. The text says a disabled Rust Package triggers a publish. It probably means "an enabled Package has Rust". Check that against the CLI.
    • "spell and script artifacts": the glossary terms are Package Delta and Script Artifact.
    • "repairs schedules" does not say which schedules.
  3. Low (nit). The neighbouring entry is one unwrapped line and the new text is hard-wrapped. Both styles appear in the file, so this is a judgement call.
  4. Low, possible Shotgun Surgery (baseline smell). danger-zones.md and CONTEXT.md each describe what apply does in slightly different words. "Publishes the Module when … a target records pending Package Teardown" appears only in CONTEXT.md. One home for the behaviour, with the other file linking to it, would stop the two from drifting apart.

importer/src/package_delta.rs (a comment-only rename) and the .lyracore-cli-rev bump follow docs/agents/cross-repo-cli.md. No findings.

Spec

  1. Medium, partial. The spec says: "Installing a Package leaves users to choose and order separate build, publish, and artifact commands." The in-repo install guide, packages/README.md, still ends "Building source" with "run packages build to produce artifacts for the renamed source". It never tells the user to run packages apply after new/add/build. The PR description points to packages#79 for instructions. However, this README is the first thing a Core user reads, and it is still silent on how to activate a Package.
  2. Low, possibly wrong. The spec says: "Update the Package Inventory glossary". The update adds text describing apply, but it does not change the Package Inventory definition, and the "contains Rust" wording conflicts with that definition (Standards 2).
  3. Info, no scope creep found. The danger-zones note that "apply can … publish the Module" matters for operators. §3's deploy procedure (danger-zones.md:421) still names ./lyracore publish as the only path for a Module deploy. Consider one line there saying that packages apply may also publish. A follow-up is fine.

Summary: Standards has 4 findings (worst: the CONTEXT.md paragraph is not attached to any glossary entry). Spec has 3 findings (worst: packages/README.md does not tell users to run packages apply).


Generated by Claude Code

@Mathih13

Copy link
Copy Markdown
Contributor Author

Addressed in f9258e6 and dac57e4. Core now documents the activation step in both install guides. The glossary text belongs to Package Inventory and links to one command description, which the operator guide also uses.

The pinned CLI checks both enabled and disabled Packages for src/mod.rs; a disabled Rust Package must still trigger a publish to remove its compiled code. The guide now says this explicitly and uses Package Delta and Script Artifact terminology. It names debug_repair_after_publish, its schedules and fixtures, and explains that packages apply calls it automatically. Plain lyracore publish still needs the manual repair.

Validation: checked the claims against CLI 6515874, verified the new local links, and ran git diff --check. Independent spec and standards reviewers checked the follow-up. No live Realm was changed.

@Mathih13
Mathih13 merged commit f09dafb into main Oct 10, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant