From 4d1ee4e92eaa2aeee8dfcbf84f97ed62f94aabe1 Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Sun, 31 May 2026 08:33:36 -0400 Subject: [PATCH 1/2] Add Noetica Homebrew formula --- Formula/noetica.rb | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Formula/noetica.rb diff --git a/Formula/noetica.rb b/Formula/noetica.rb new file mode 100644 index 0000000..2e32a27 --- /dev/null +++ b/Formula/noetica.rb @@ -0,0 +1,66 @@ +class Noetica < Formula + desc "SocioProphet / SourceOS governed Noetica workstation UI" + homepage "https://github.com/SocioProphet/Noetica" + url "https://github.com/SocioProphet/Noetica.git", branch: "main" + version "0.1.0-dev" + license "MIT" + head "https://github.com/SocioProphet/Noetica.git", branch: "main" + + RELEASE_EVIDENCE_RECORD = "https://github.com/SourceOS-Linux/homebrew-tap/blob/main/release-evidence/workspace-operations.json" + + depends_on "node" + + def install + libexec.install Dir["*"] + + (bin/"noetica").write <<~EOS + #!/usr/bin/env bash + set -euo pipefail + exec "#{Formula["node"].opt_bin}/node" "#{libexec}/cli/noetica.mjs" "$@" + EOS + end + + def caveats + <<~EOS + Noetica installed the workstation CLI: + noetica version + noetica configure + noetica doctor + noetica smoke --dry-run + noetica start + + Homebrew is the installer/distribution path only. Do not use brew services + as the canonical service supervisor for Noetica. + + Foreground mode: + noetica start + + OS-native service mode: + noetica service install + noetica service start + noetica service status + noetica service stop + noetica service uninstall + + Noetica uses OS-native service controls: + macOS: launchctl / LaunchAgent + Linux: systemd --user or SourceOS-compatible user service + + User configuration: + ~/.config/sourceos/noetica/config.json + + Release package evidence: + #{RELEASE_EVIDENCE_RECORD} + Checksum record: + #{RELEASE_EVIDENCE_RECORD} + Rollback note: + #{RELEASE_EVIDENCE_RECORD} + EOS + end + + test do + assert_match '"name": "noetica"', shell_output("#{bin}/noetica version") + assert_match '"kind": "NoeticaDoctor"', shell_output("#{bin}/noetica doctor --json") + assert_match '"kind": "NoeticaSmoke"', shell_output("#{bin}/noetica smoke --dry-run") + end +end From 35f2d47a2e590d79b0e84ec017494d404196b986 Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Sun, 31 May 2026 08:34:43 -0400 Subject: [PATCH 2/2] Document Noetica formula boundary --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/README.md b/README.md index 28151f2..66be8d0 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,33 @@ This repository is the SourceOS distribution surface for Homebrew formulas/casks. It is not a runtime governance authority. +## Formulas + +Current SourceOS product-surface formulas include: + +- `agent-machine` +- `bearbrowser` +- `noetica` +- `sourceos-devtools` +- `sourceos-syncd` +- `turtleterm` + +## Noetica service boundary + +The Noetica formula installs the workstation CLI and exposes `noetica`. + +Homebrew is not the canonical service supervisor for Noetica. Use Noetica's OS-native service adapter commands instead: + +```bash +noetica service install +noetica service start +noetica service status +noetica service stop +noetica service uninstall +``` + +Noetica service mode uses `launchctl` / LaunchAgent on macOS and `systemd --user` or a SourceOS-compatible user service on Linux. + ## Release evidence mapping Release/package operations and evidence for product surfaces are tracked in: