Skip to content

Explain static catalogs plainly; correct the term's scope#18

Merged
miharp merged 1 commit into
mainfrom
docs/static-catalog-explainer
Jul 24, 2026
Merged

Explain static catalogs plainly; correct the term's scope#18
miharp merged 1 commit into
mainfrom
docs/static-catalog-explainer

Conversation

@miharp

@miharp miharp commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Prompted by pinning down what a static catalog actually is (and isn't).

Beginner explainer + tighter glossary

The README glossary called a static catalog "one consistent snapshot," which overstates it — static catalogs pin module file content to the catalog's version, not the whole catalog. Tightened that line and added a Static catalogs in plain terms section that tells the story for a newcomer:

  • an agent applies a catalog over time, fetching module files as it goes;
  • deploy mid-run and it can apply a mix of old and new;
  • a static catalog stamps the catalog with a code_id so the agent fetches files at that version;
  • the server must answer "which version?" and "file X at version Y" — PE does via Code Manager + file sync; a stock OpenVox Server has the socket but nothing plugged in, which is exactly codavox.

commands.md correctness

It said static catalogs "need enabling" with static_catalogs = true, reading as if the setting were off by default. It's true by default in both PE and OpenVox. Verified in openvox-server:

  • master_core.clj sets :include-code-id? true on every /catalog/ request unconditionally;
  • with no code-id-command configured, versioned_code_service.clj logs "No code-id-command set … Code-id will be nil."

So the real requirement isn't the setting — it's configuring the two commands. Reworded accordingly.

Docs-only. markdownlint clean, links resolve.

🤖 Generated with Claude Code

Two related fixes, prompted by pinning down what a static catalog actually is.

The README glossary called a static catalog 'one consistent snapshot,' which
overstates it: static catalogs pin module file *content* to the catalog's
version, not the whole catalog (resources and relationships are fixed at compile
time in any catalog). Tightened the glossary line and added a beginner section
that tells the story — an agent applies a catalog over time and fetches module
files as it goes, so a deploy mid-run can leave it applying a mix of old and
new; a static catalog stamps the catalog with a code_id so the agent fetches
files at that version instead. It ends on where codavox fits: the server needs
to answer 'which version?' and 'file X at version Y', PE answers with Code
Manager and file sync, and a stock OpenVox Server has the socket but nothing
plugged in — which is codavox.

commands.md said static catalogs 'need enabling' with static_catalogs = true,
which reads as if the setting were off by default. It defaults to true in both
PE and OpenVox. Verified in openvox-server that the server sets include-code-id?
on every /catalog/ request unconditionally, and that with no code-id-command
configured the code_id is nil (versioned_code_service.clj logs 'Code-id will be
nil'). So the real requirement is not the setting but configuring the two
commands. Reworded to say the setting is usually already on and that wiring the
commands is what makes static catalogs do their job.

Signed-off-by: Michael Harp <mike@mikeharp.com>
@miharp
miharp merged commit 7da8fee into main Jul 24, 2026
8 checks passed
@miharp
miharp deleted the docs/static-catalog-explainer branch July 24, 2026 15:39
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