-
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