Commit Graph

  • 3f05489e25 Parameterise the translation pipeline by target language master B.D. Murphy 2026-11-07 05:53:17 -08:00
  • 54336535e3 Tell the drafter to keep each id to its own English, and the critic to check Umbra Tools 2026-11-06 21:35:32 -08:00
  • 11fd8d8060 Keep the row for an unverifiable paragraph, so the gap says why Umbra Tools 2026-11-06 21:22:09 -08:00
  • acab79d4ad Judge a re-flowed passage as a window, not one paragraph at a time Umbra Tools 2026-11-06 21:18:40 -08:00
  • 5a50b04749 Verify that a translated paragraph still renders its own source Umbra Tools 2026-11-06 20:31:24 -08:00
  • f0c2317ca0 Create the alignment cache directory before the first model call Umbra Tools 2026-11-06 19:31:41 -08:00
  • 996fe37f4f Align the translated paragraphs back onto the verified source utterances Umbra Tools 2026-11-06 19:13:30 -08:00
  • 91a1c13307 Fix JS syntax: balance braces in umbra-app.js (was off by 1 after renderFormat fix) umbra audio 2026-10-25 21:24:22 -07:00
  • 89f134a182 Rebuild Format activity UI with Edit→Publish workflow umbra audio 2026-10-25 15:43:13 -07:00
  • fbbe23d7f9 Add output generation, cover image management, and back-translation tool umbra audio 2026-10-25 15:27:02 -07:00
  • be04e19d04 Add UmbraAudio controller integration endpoints umbra audio 2026-10-25 13:11:42 -07:00
  • 3e0568b9d1 Generate backend endpoints for language-project workflow umbra audio 2026-10-25 11:04:53 -07:00
  • bd8238f3be fix BundleError handler: map malformed bundles to 422 with structured envelope umbra audio 2026-10-16 19:38:50 -07:00
  • dda079f605 commit audio ingest: apply 0008+0009 migrations, wire Postgres adapter to commit path umbra audio 2026-10-16 19:12:02 -07:00
  • 4160ec49a0 audio: Phase 2 — Postgres AudioImportStore adapter + 0009 ledger; use PG store on commit with org from node; 0008 header updated; tests umbra audio 2026-10-16 03:25:00 -07:00
  • e35d7a144f Add Apache-2.0 LICENSE, NOTICE, and SPDX headers umbra audio 2026-10-18 19:01:05 -07:00
  • d7f84075db Prompt identity: knowing which prompt produced a result umbra audio 2026-10-06 18:34:04 -07:00
  • 70c23fde1b A precise request for the audio system's data, plus a validator to check it against umbra audio 2026-10-05 19:35:21 -07:00
  • 9432366183 The catalogue: declare files that already exist, without moving the bytes umbra audio 2026-10-05 18:34:15 -07:00
  • e757630da2 A phone had no navigation at all umbra audio 2026-10-04 20:14:17 -07:00
  • d6cebe4d55 The controller assigns work, and a job is done only when the artifacts say so umbra audio 2026-10-04 18:48:05 -07:00
  • 02fa70d8ad Revoke a credential, and take a machine out of the fleet for good umbra audio 2026-10-04 17:49:25 -07:00
  • 9eb419ffc8 Nodes get a unique name from their MAC, so two machines can share one umbra audio 2026-10-04 17:29:36 -07:00
  • 851d14ee30 The node write path was dead, and drain did not drain umbra audio 2026-10-04 04:37:48 -07:00
  • 8d1c6a6406 27 of 63 database tests were skipping, and the summary said nothing umbra audio 2026-10-03 21:56:18 -07:00
  • b0cdec63a1 The root-install instructions assumed an account the machine may not have umbra audio 2026-10-03 20:46:05 -07:00
  • 3419485aa7 Fix a syntax error I introduced, which put a password in a URL umbra audio 2026-10-03 20:06:05 -07:00
  • 0b898316ef The password toggle was inverted on every password field umbra audio 2026-10-03 19:56:03 -07:00
  • 0a4c400022 The console links to the nodes page, and a lost session leaves it umbra audio 2026-10-03 16:16:04 -07:00
  • 14eba11ffe An empty organization list is now said out loud, and the page stops pretending umbra audio 2026-10-03 15:28:30 -07:00
  • 25cd17c061 The as_root checkbox help says what it now does umbra audio 2026-10-03 15:03:23 -07:00
  • 0e29d863fb The as_root checkbox now changes the command it produces umbra audio 2026-10-03 15:03:04 -07:00
  • 359e566a1f Record the TTS engine decision and what it still depends on umbra audio 2026-10-03 14:41:08 -07:00
  • 4ce121470e A node may do work for any tenant, and the pipeline plan umbra audio 2026-10-03 14:16:43 -07:00
  • 715b7bc69f Restore the guarantee migration 0005 had to drop umbra audio 2026-10-03 14:16:35 -07:00
  • 24d7ea6a41 Format the lines this change wrote, and leave the rest of the drift alone umbra audio 2026-10-03 14:02:22 -07:00
  • 0179355fe7 Drop the tenant schemas one transaction at a time umbra audio 2026-10-03 13:59:08 -07:00
  • 9a84a9d227 The staleness fixture's project goes into the tenant schema, and comes out of it umbra audio 2026-10-03 13:42:02 -07:00
  • 7b12964a9b Seed the guard fixture's project into the tenant schema it now lives in umbra audio 2026-10-03 13:40:48 -07:00
  • 152735f145 Assert the tenant boundary where it now lives, not where it used to umbra audio 2026-10-03 13:37:39 -07:00
  • 4781468181 Test the property that replaced the one a policy used to prove umbra audio 2026-10-03 13:33:34 -07:00
  • 79b3484083 Reach the tenant tables by name, not by a filter somebody remembers umbra audio 2026-10-03 13:32:46 -07:00
  • 2264a6cc42 Publish the caller's schema onto every transaction umbra audio 2026-10-03 13:31:41 -07:00
  • e1bbfdb604 The session-to-schema step, next to the session-to-organization step umbra audio 2026-10-03 13:30:55 -07:00
  • 2cdebf5ac3 Schema per organization: the migration, and why these four tables umbra audio 2026-10-03 13:30:38 -07:00
  • 62372a9c55 Wider code display, copy button beside the value umbra audio 2026-10-03 12:03:39 -07:00
  • a75959c2e9 Fix the add-node page: nothing happened because three bugs, all silent umbra audio 2026-10-03 11:44:35 -07:00
  • c3a3e506ec Add a node from the console, and make curl | sh actually work umbra audio 2026-10-03 11:10:42 -07:00
  • bc031dd079 Bootstrap: one file, and it works with or without root umbra audio 2026-10-03 09:53:28 -07:00
  • c56ef46190 Measure capability by executing instructions, not by reading cpuinfo umbra audio 2026-10-03 09:26:22 -07:00
  • 11f27f5ef9 Capability profile for node 238, measured over SSH umbra audio 2026-10-03 08:55:40 -07:00
  • 0c35eb2d03 Allow the address the service binds to as a Host value umbra audio 2026-10-03 07:51:14 -07:00
  • 32dc580c74 Pair nodes with a short code instead of a copied credential umbra audio 2026-10-03 07:25:41 -07:00
  • 382ca8fc78 Derive node status on read; a heartbeat loop for the audio node umbra audio 2026-10-03 06:07:43 -07:00
  • 2ff322dcd2 Close all thirteen app functions in the migration, not by hand umbra audio 2026-10-02 20:25:12 -07:00
  • c0a1971a52 Stage 1 credential issued; record what it was verified not to do umbra audio 2026-10-02 20:02:51 -07:00
  • 0501739a88 append-only guards, and a fixture that could not set itself up umbra audio 2026-10-02 20:02:33 -07:00
  • 898906ab04 Forward-only link agreed, and the connection sequence the audio node asked for umbra 2026-10-02 19:11:14 -07:00
  • 717e1d56b9 Editions, character persistence, and a freeze anchored per character umbra 2026-10-02 18:55:03 -07:00
  • 21d0949b84 Character attributes change over the story: the largest model change yet umbra 2026-10-02 18:41:12 -07:00
  • 838733d51d Data model alignment: six decisions recorded, character model rewritten umbra 2026-10-02 18:12:07 -07:00
  • a032e4f542 Record the GPU boundary as measured, on all three accounts umbra 2026-10-01 19:35:53 -07:00
  • de08cfe38e Stop rate-limiting the deployment: any finite budget is exhaustible umbra 2026-10-01 07:11:13 -07:00
  • 1dbf5fb384 The GPU permissions survive a reboot, and the deployment stops giving up umbra 2026-10-01 06:45:17 -07:00
  • 4937b9beed Record that the GPU permissions now hold, and how that was verified umbra 2026-10-01 06:33:32 -07:00
  • 0ab1f0f1de The GPU boundary did not survive a reboot, and neither did the fix for it umbra 2026-10-01 06:23:21 -07:00
  • 1ab9c2595d Verify the datastore policies as a role that does not own the tables umbra 2026-09-30 22:19:01 -07:00
  • 5fc38d4708 The datastore, and two parties that never sign in umbra 2026-09-30 22:08:35 -07:00
  • c1741456e2 Apply the GPU boundary, and fix three checks that verified themselves umbra 2026-09-30 07:24:27 -07:00
  • 220bc00823 An upgrade path for the agent, and the GPU device boundary umbra 2026-09-30 06:32:11 -07:00
  • 0f5c1e3408 Run the agent as the service account it claims to be umbra 2026-09-30 06:18:26 -07:00
  • 1ab0fa2498 A service-account setup and boundary check for the node agent umbra audio 2026-09-30 05:40:48 -07:00
  • d13664a607 A compute substrate: node inventory, a leased queue, and an agent umbra audio 2026-09-29 20:09:36 -07:00
  • bfde763f00 Fix a 500 on /api/health from an uninterpolated SQL placeholder umbra audio 2026-09-28 11:47:13 -07:00
  • ed72f61975 Separate organizations, and give members their organization's projects umbra audio 2026-09-28 11:34:37 -07:00
  • b12c702c66 Show whether an account's address is confirmed, and let an admin re-send umbra audio 2026-09-28 06:25:38 -07:00
  • fa781cf708 Stop the reset page calling a dead link when it cannot reach the service umbra audio 2026-09-28 06:03:01 -07:00
  • e034061ec1 Add password reset and self-service account settings umbra audio 2026-09-27 23:46:59 -07:00
  • 7696c9d2e0 Open the organization editor when the edit button is used umbra audio 2026-09-27 22:03:20 -07:00
  • 60aa2c9ba8 Keep verification tokens out of the access log umbra audio 2026-09-27 21:02:28 -07:00
  • b27915bc68 Fix the confirmation link, and stop the test suite eating a database umbra audio 2026-09-27 20:24:05 -07:00
  • 2b3a093e96 Configure the domain mail transport and run in production umbra audio 2026-09-27 19:34:02 -07:00
  • 17f8e81fb7 Verify the mail transport instead of trusting its configuration umbra audio 2026-09-27 06:49:23 -07:00
  • c8b8cdb118 Deploy the service: dedicated database, unit, and the public hostname umbra audio 2026-09-27 06:24:45 -07:00
  • ef6bf1e6a3 Add first-run setup so a deployment can be finished in the browser umbra audio 2026-09-27 06:13:58 -07:00
  • ef9785a5da Give the confirmation email a page that resolves umbra audio 2026-09-26 22:14:28 -07:00
  • d1b19fbdb3 Update the site icon and wire the UI to email login umbra audio 2026-09-26 22:05:35 -07:00
  • 64af39eb68 Run the PostgreSQL integration suite against the real schema umbra audio 2026-09-26 21:55:00 -07:00
  • 0461dff9d2 Use the email address as the login identifier and require confirmation umbra audio 2026-09-26 21:21:01 -07:00
  • 31fd8720ec Add the PostgreSQL adapter for the authoritative store umbra audio 2026-09-26 20:28:07 -07:00
  • 08a44dbacd Wire the browser client to the real account and organization API umbra audio 2026-09-26 20:13:46 -07:00
  • 0b9c4d4220 Add organization tenancy and same-origin frontend mounting umbra audio 2026-09-26 19:58:17 -07:00
  • 6482921d0b Run the static prototype under systemd umbra audio 2026-09-26 19:16:16 -07:00
  • b474995414 Add phase-1 account management backend slice umbra audio 2026-09-26 08:29:23 -07:00
  • 37b2056808 Add UmbraTrans UI prototype and integration design umbra audio 2026-09-26 07:57:11 -07:00
  • 6a3baacb34 Harden agent communication validation umbra audio 2026-09-24 16:24:18 -07:00
  • 127a048cfe Restrict package discovery to agent_comm umbra audio 2026-09-24 16:15:26 -07:00
  • 8a61d9298b Add verified NAS backup automation umbra audio 2026-09-24 16:13:53 -07:00
  • fc6c36331b Bootstrap UmbraTrans agent communication workspace umbra audio 2026-09-24 16:09:23 -07:00