Skip to content

Heads-up: campus-suite #981 changes campus.yapper client construction - no action required #64

Closed

Description

@nycomp

Summary

campus-suite commit c6f034b (nyjc-computing/campus PR #981, merged 2026-10-28) changed how campus.yapper clients are constructed. Verdict for this repo: no action required. Since we track campus-suite@weekly, the change arrives on the next build/lock bump — this issue records the assessment so the bump is not a surprise.

Assessment evidence

  • This repo has no campus.yapper imports (org-wide sweep: zero hits outside the campus monorepo).
  • We never boot campus apps in-process: main.py / apps/* build this repo's own Flask app, and no STORAGE_MODE rigs exist here.
  • Railway/deploy environment carries no YAPPERDB_URI or STORAGE_MODE variables.

What changed in campus.yapper

  1. Self-contained: campus.yapper imports no campus package at all (boundary-enforced). The lazy yapper ↔ campus.auth cycle is gone.
  2. create() signature: now keyword-only db_uri / db_uri_provider plus backend kwargs. The event DB URI resolves in priority order: db_uri argument → db_uri_provider() callable → YAPPERDB_URI env var → remote campus vault "campus.yapper" via campus_python.
  3. DEPLOY=campus.auth special case removed: yapper no longer consults DEPLOY; the auth service injects its own vault reader internally.
  4. YAPPERDB_URI is now honored as an environment fallback (priority 3). It was never read before, so no current deployment sets it — but if this repo ever sets it, it would override remote-vault resolution for bare create() calls.

When an upgrade step WOULD be required here

  • Emitting events directly: call campus.yapper.create() bare (deployments) or pass db_uri= / db_uri_provider= explicitly. Docs: https://github.com/nyjc-computing/campus/blob/weekly/docs/yapper.md
  • Booting campus apps in-process under STORAGE_MODE=1 (test rigs): set YAPPERDB_URI to a SQLite file path first (note: :memory: does not work across connections — use a temp file, like tests/fixtures/yapper.py in the campus repo). Test mode never contacts external services; with no URI resolvable it raises instead.
  • Environment audit: if we ever introduce YAPPERDB_URI/STORAGE_MODE variables, re-read the resolution order in docs/yapper.md first.

References

Activity

  1. nycomp commented on Oct 27, 2026

    @nycomp
    ContributorAuthor

    Verified 2026-10-28 on current main — verdict confirmed: no action required.

    Re-ran the issue's assessment against the tree after campus#981 merged:

    • Imports: zero campus.yapper imports. The only yapper mentions in the repo are AGENTS.md:28 (framework tree description) and a comment in apps/classroom/routes/classroom_sync.py:45 referencing the #840 journey-name example — neither is an import or a client construction.
    • Environment: no YAPPERDB_URI or STORAGE_MODE references anywhere in the repo (code, config, env templates, CI).
    • Lock state: campus-suite locked at 0.1.16 from weekly (pre-#981). The new construction path arrives on the next relock and is expected to be a transparent no-op for this repo, since we never construct yapper clients or boot campus apps in-process.

    Future triggers (emitting events directly, or booting campus apps under STORAGE_MODE=1 in test rigs) remain as documented in the issue body — anyone hitting those should follow docs/yapper.md on weekly first. Closing as completed; no code change made.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions