Commit graph

333 commits

Author SHA1 Message Date
3b43b7bd72 Merge pull request 'Faust loader: platform-aware library lookup and AQUASYNTH_FAUST_LIBRARY override' (#1) from faust-loader-platform-aware into main 2026-10-31 09:40:59 +00:00
Aqua
53f1f1b03e Faust loader: platform-aware library lookup and explicit path override
Find libfaust.so on Linux, libfaust.dylib on macOS, libfaust.dll/faust.dll on
Windows; join PATH with Path.PathSeparator; accept FaustLibraryPath or
AQUASYNTH_FAUST_LIBRARY as an explicit library file. Platform default homes
replace the unconditional C:\Program Files\Faust.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:14:08 +00:00
Aqua
b77c9e5b66 Fix file:line cites for AquaDaemonClient and DingAudioPlayer
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 06:14:04 +00:00
Aqua
27a9043dff Research: Dings playback path and Ogg export sketch
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 06:13:47 +00:00
Meta Vens
8a65f5876a AquaSynth advertisement: drop Eve surface entries; Eve is deprecated, Thing 2 is the successor
Per thing2:ruling:eve-dashboards-quarantined. Removes cultMeshSurfaceKeys, the eve witness family and the eve surface schema from the exporter and fixture; the contract names the quarantine.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 20:19:44 +02:00
Meta Vens
c1399425eb Pin CultLib 2.0.0 for builds
Directory.Build.props names CultLibRoot (CULTLIB_ROOT, else the sibling checkout) and pins CultLibRevision to cultlib-unity-v2.0.0 (42dce361). Directory.Build.targets fails the build unless that checkout is at the pin and clean, as Aetheria's guard does. Project references use CultLibRoot.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 19:46:37 +02:00
Meta Vens
aed65255cc Follow CultLib Cut 3: opening hydrates, PullOnOpen is gone
CultLib's CultCacheMessagePack.Create and OpenAsync now always read the store,
and CultCacheOpenOptions.PullOnOpen no longer exists.

- CultCachePatchDocumentStore.WriteDefaultAsync and
  AquaSynthDaemonService.WriteReceiptAsync write single-document files. They
  open (which hydrates), remove every record other than the one they write,
  upsert, and flush; the flush replaces the file atomically. Before this,
  Create never pulled, so their PullOnOpen = false was already a no-op.
- IpaTrialResults and SpeechDistributedTraining passed File.Exists-style
  PullOnOpen values; hydrating a missing store is empty, so the option goes.
- AquaSynthDaemonServiceTests drops PullOnOpen = true.

Globals: nothing in CultLib invents a [CultGlobal] record any more. AquaSynth
never relied on that: its three global types are positional records with no
parameterless constructor, which the old invention skipped, and every one is
written explicitly and read back by explicit key or GetAll.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 17:59:48 +02:00
Meta Vens
6c21e22292 REC-098: delete unread DingsProtocol.MutexName constant
DingsProtocol.MutexName ("Local\GameCult.AquaSynthDings.Playback.v1")
had no in-repo reader. The runtime mutex the Dings host actually takes
is a separately hardcoded literal at tools/AquaSynthDingsHost/Program.cs:3
(same string value, duplicated rather than referencing the constant),
so the constant's own symbol and value were both confirmed dead before
deletion, not just the symbol.

Kill-attempt searches (all empty except the known duplicate):
- rg -n "MutexName" . (in AquaSynth)              -> only the declaration
- rg -n "GameCult.AquaSynthDings.Playback.v1" .   -> declaration + the
  hardcoded Program.cs duplicate + PipeName (a distinct, still-read
  constant using the same base string without the "Local\" prefix)
- rg in AquaSynth-rs, weksa                        -> no matches (exit 1)
- rg -n "GameCult\.AquaSynthDings\.Playback\.v1" --hidden across all of
  F:/Projects (exit 0)                             -> only the census
  doc's citation and the two AquaSynth source hits above; zero external
  consumers repo-wide

PipeName (the sibling constant, read by both DingsHostClient.cs and
DingsPlaybackHost.cs for the named pipe) is untouched.

Did NOT touch AquaSynth part of REC-019 (BirdSyrinxGolf): tools/BirdSyrinxGolf
is a real standalone research CLI (own .csproj, AquaSynth.sln entry),
documented as a live, human-run tool in state/map.yaml, state/evidence.jsonl,
and research/bird-syrinx-golf/README.md, and its runs drove two shipped
AquaSynth.Core patch-language features (tissue-valve acoustic source,
realtime control curves per evidence.jsonl 2026-05-28 entries). The census
recommendation's evidence class (no code-level caller) is the wrong test for
a tool whose only intended caller is a human running it directly; deleting
it would destroy a documented capability, not dead code. No sibling repo
(checked via `grep -rl AquaSynth --include=*.csproj` across all of
F:/Projects) references BirdSyrinxGolf either way, so this is not a
close call resolved by silence -- the in-repo evidence itself disqualifies
the recommendation.

Verification: dotnet build src/AquaSynth.Dings/AquaSynth.Dings.csproj
succeeds (0 errors). AquaSynth.Core has a pre-existing, unrelated
MessagePack-source-generator build failure (523 CS0246 errors) that
reproduces identically with this change stashed out, confirming it is
baseline and not caused by this edit; the wider tools/AquaSynthDingsHost
and tools/AquaSynthDingsMcp builds could not be exercised because they
transitively depend on AquaSynth.Core.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-13 14:03:44 +02:00
Meta Vens
e625283342 Stop each render from appending a dead tools path to the user PATH
Every Faust render, and every trial-loop lane, runs dotnet with a fresh
DOTNET_CLI_HOME under the temp directory. The SDK's first-run experience
appends "<home>\.dotnet\tools" to the persisted user PATH each time, and
DOTNET_SKIP_FIRST_TIME_EXPERIENCE does not stop that part. Seventy-nine
dead entries had accumulated (9,634 chars), past cmd's environment limit,
so anything spawned through cmd lost the tail of PATH — node included.

DOTNET_ADD_GLOBAL_TOOLS_TO_PATH=0 is the switch that governs the PATH
write. Set it everywhere a throwaway dotnet home is used; telemetry
opt-out rides along for the renderer since these homes never persist.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 20:49:46 +02:00
Meta Vens
accfb0a5ef Wire AGENTS.md into Claude Code memory
Claude Code reads CLAUDE.md, not AGENTS.md, so this repo's doctrine was
invisible to it. This one-line import makes the existing AGENTS.md load
without duplicating or renaming it. Codex is unaffected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-03 22:21:20 +02:00
Meta Vens
9051f4b6db Share Dings MCP across agent sessions 2026-08-21 21:18:45 +02:00
Meta Vens
e02faf6c92 Document shared Dings MCP deployment boundary 2026-08-21 21:00:57 +02:00
Meta Vens
348d677248 Centralize Dings playback and volume 2026-07-15 01:18:09 +01:00
Meta Vens
9abb7e4164 Add curated AquaSynth dings MCP service 2026-07-14 01:06:12 +01:00
Meta Vens
91c7c61832 Advertise AquaSynth live session schemas 2026-06-15 03:38:32 +01:00
Meta Vens
a87e5aa4e0 Publish AquaSynth live session state 2026-06-15 03:33:03 +01:00
Meta Vens
0da43b9439 Add AquaSynth live session close command 2026-06-15 03:20:09 +01:00
Meta Vens
50ed85ae41 Add AquaSynth live instrument daemon sessions 2026-06-15 03:08:53 +01:00
Meta Vens
0edd3ee21a Document greater daemon composition rule 2026-06-15 02:42:48 +01:00
Meta Vens
78c84726ff Add cinematic pipeline to daemon swarm docs 2026-06-15 02:36:28 +01:00
Meta Vens
d2d0eaada1 Document GameCult daemonic swarm architecture 2026-06-15 02:15:59 +01:00
Meta Vens
6e93513e8e Add AquaSynth local CultNet daemon 2026-06-15 01:45:01 +01:00
Meta Vens
8c5f6d604a Add AquaSynth automation stream receipts 2026-06-15 01:22:25 +01:00
Meta Vens
ee6501558c Add AquaSynth sample daemon 2026-06-15 01:07:56 +01:00
Meta Vens
c67158116a Repair AquaSynth merge witnesses 2026-06-15 00:32:54 +01:00
Meta Vens
7a0bba15c2 Add AquaSynth daemon provider contract 2026-06-03 04:34:31 +01:00
Meta Vens
c2fa103fae Record retrigger lesson music knowledge store 2026-06-01 12:31:50 +01:00
Meta Vens
fd6aa863a7 Teach music agents retriggered 808 drums 2026-06-01 12:07:51 +01:00
Meta Vens
4ba37d3260 Place song swarm worktrees beside CultLib 2026-06-01 06:05:53 +01:00
Meta Vens
88bc314467 Restore agent worktrees before prebuild 2026-06-01 06:01:27 +01:00
Meta Vens
bb736b5bf0 Quiet song swarm worktree creation 2026-06-01 05:57:47 +01:00
Meta Vens
7645a2c7c3 Isolate song swarm musician worktrees 2026-06-01 05:54:21 +01:00
Meta Vens
8250afc39a Gate song swarm on self-iteration evidence 2026-06-01 05:48:03 +01:00
Meta Vens
e13fdbc21b Add production sugar for music agents 2026-06-01 04:44:11 +01:00
Meta Vens
89e6ee10bf Document music agent orchestration lessons 2026-06-01 04:40:48 +01:00
Meta Vens
c7d3d9c378 Record five-pass song swarm run 2026-06-01 04:21:21 +01:00
Meta Vens
783a629b2b Keep learned-only song swarms running 2026-06-01 02:29:33 +01:00
Meta Vens
16995891fd Harden song swarm rendering environment 2026-06-01 02:06:49 +01:00
Meta Vens
03cd6007f8 Expose song render failures 2026-06-01 01:55:37 +01:00
Meta Vens
36ef9109c2 Add target music intelligence reports 2026-06-01 01:17:49 +01:00
Meta Vens
554a74e2d4 Make music knowledge store cumulative 2026-06-01 00:30:48 +01:00
Meta Vens
16ed4084ff Seed music knowledge manuals 2026-06-01 00:22:29 +01:00
Meta Vens
94cf7174f7 Use Qdrant for music knowledge injection 2026-06-01 00:11:36 +01:00
Meta Vens
5cf8f0da23 Gate song curriculum on producer evidence 2026-05-31 23:54:19 +01:00
Meta Vens
378d8e1fb3 Redirect song curriculum toward composition 2026-05-31 22:16:28 +01:00
Meta Vens
5e0ad2ddd0 Score song continuity collapse risk 2026-05-31 21:51:26 +01:00
Meta Vens
f11d5ce070 Record corpus music curriculum run 2026-05-31 20:44:23 +01:00
Meta Vens
7b50fbc30e Let song swarm agents build CultLib references 2026-05-31 18:17:46 +01:00
Meta Vens
b808e7a781 Promote music knowledge after song swarm passes 2026-05-31 18:10:33 +01:00
Meta Vens
58cc1338c8 Distill music production knowledge stores 2026-05-31 18:05:34 +01:00