Skip to content

Phase 1 hardening: production-grade workstation packaging #29

Description

@mdheller

Problem

Phase 1 is functionally installable, but the current workstation install is still too janky for product use.

Observed macOS validation:

  • brew reinstall sourceos-linux/tap/noetica succeeds.
  • noetica version, doctor, and smoke --dry-run succeed.
  • noetica start reaches Next.js ✓ Ready, which means the foreground server is running.
  • However, the command feels like a hang because foreground mode does not clearly tell the operator to open the URL and press Ctrl-C to stop.
  • The formula is still installing/running a dev-mode Next app rather than a production-grade release artifact.
  • Because Phase 1 uses next dev, dependency handling has already been awkward and too mutable.

Required hardening

  1. Make noetica start operator-clear:

    • print Noetica is running at http://127.0.0.1:3737;
    • print Press Ctrl-C to stop foreground mode;
    • optionally suggest noetica open in a second terminal;
    • do this before handing control to Next.
  2. Add a non-blocking mode:

    • noetica start --detach, or
    • noetica launch, or
    • a clearer noetica service start path documented as the background path.
  3. Stop shipping a dev-mode server as the product path:

    • build a production artifact;
    • install the built app;
    • run next start or a standalone Next server from the installed payload;
    • remove dev dependencies from the runtime formula once this exists.
  4. Upgrade Homebrew packaging:

    • formula should consume a release artifact or deterministic built payload;
    • formula should not install mutable runtime dependencies during first run;
    • no brew services path should be introduced.
  5. Add local validation commands:

brew reinstall sourceos-linux/tap/noetica
noetica version
noetica doctor --json
noetica smoke --dry-run
noetica start
noetica open
noetica service install
noetica service start
noetica service status
noetica service stop
noetica service uninstall

Acceptance

  • brew reinstall sourceos-linux/tap/noetica produces an install that does not mutate itself on first start.
  • noetica start has clear foreground semantics.
  • Operator does not mistake normal foreground server behavior for a hang.
  • noetica open opens the running app.
  • Background/service path is documented and works through OS-native service control.
  • Production artifact path is defined or implemented.

Boundary

This is Phase 1 hardening before Phase 2. Do not begin deeper SourceOS routing work until the workstation install feels clean.

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions