Keep learned-only song swarms running
This commit is contained in:
parent
16995891fd
commit
783a629b2b
2 changed files with 57 additions and 15 deletions
|
|
@ -270,3 +270,4 @@
|
|||
{"timestamp":"2026-06-01T01:05:00+01:00","topic":"per-target-local-music-intelligence","claim":"Each song challenge now emits a provider-labeled `intelligence.md` built from local audio analysis and source-path vocabulary, and musician prompts must read it alongside Qdrant music-production knowledge. The report translates tempo, register, brightness, noisiness, density, spectral motion, and cautious genre hints into AquaSynth production decisions. Keep prompt surfaces free of PowerShell markdown backtick escapes: escaped `r`/`t`/`n` tokens became hidden control characters in agent instructions, corrupting metric and file names.","evidence":"tools/IpaTrialWorker/Program.cs; tools/run-song-snippet-trial-swarm.ps1; artifacts/parity/song-snippet-swarms/20260531T234041397/pass-001/agent-01/target-01/intelligence.md; artifacts/parity/song-snippet-swarms/20260531T234041397/pass-001/agent-01/hypothesis-agent.prompt.md"}
|
||||
{"timestamp":"2026-06-01T01:58:00+01:00","topic":"song-swarm-render-failure-visibility","claim":"Song-swarm render failure must be visible to agents and operators. `song-score` now writes `audio/render-failure.txt` and includes failure summaries in `evaluator-report.md`. The parser accepts documented `env=ad attack=... decay=...` syntax, because the manual taught that form and agents copied it. Codex musician jobs now set repo-local `DOTNET_CLI_HOME`/`NUGET_PACKAGES` with first-time-use disabled so internal renderer `dotnet run` calls do not write to denied sandbox home directories.","evidence":"src/AquaSynth.Core/PatchScript.cs; tests/AquaSynth.Dsl.Tests/PatchScriptTests.cs; tools/IpaTrialWorker/Program.cs; tools/run-song-snippet-trial-swarm.ps1; artifacts/parity/song-render-failure-smoke/20260601T0145-agent01-a01/smoke-agent01-target01-attempt01/song-candidates/agent_01__swarm__a01/audio/render-failure.txt; artifacts/parity/song-render-failure-smoke/20260601T0152-agent01-a01-after-ad/smoke-agent01-target01-attempt01/summary.csv"}
|
||||
{"timestamp":"2026-06-01T02:08:00+01:00","topic":"song-swarm-render-environment-and-syrinx-scaffold","claim":"Renderer builds must not depend on user-profile NuGet or dotnet config. `FaustCompiler.RenderAsync` now runs its temporary C# render project with temp-local HOME, APPDATA, LOCALAPPDATA, DOTNET_CLI_HOME, and NUGET_PACKAGES. The music manual and swarm prompt now treat acoustic/syrinx as complete-graph syntax: agents should start from known-valid syrinx patches or log a gap, not submit isolated `source_port`/`acoustic_network` fragments that cannot render.","evidence":"src/AquaSynth.Faust/FaustCompiler.cs; docs/music-production-knowledge/aqua-dsp-usage-manual.md; tools/run-song-snippet-trial-swarm.ps1; artifacts/parity/song-snippet-swarms/20260601T005553312/pass-001/agent-01/iterations/attempt-01/target-01/agent-01-target-01-attempt-01/song-candidates/agent_01__swarm__scene_a/audio/render-failure.txt"}
|
||||
{"timestamp":"2026-06-01T02:33:00+01:00","topic":"learned-only-music-knowledge-show-standard","claim":"A cumulative music-production knowledge loop should not fail when `music-distill --learned-only true` omits the seed `music-production-quality-standard-v1` document. The pass-end standard snapshot is display-only: it may show the canonical seed record when present, but if learned-only output only contains current curator/manual/failure/abstraction documents it must write an index-backed pass snapshot and continue the swarm.","evidence":"tools/run-song-snippet-trial-swarm.ps1; artifacts/parity/song-snippet-swarms/20260601T010706781/launcher stderr showed `No music knowledge document found for music-production-quality-standard-v1` after pass-001 despite successful learned-only distillation"}
|
||||
|
|
|
|||
|
|
@ -247,6 +247,58 @@ function Write-PassPlaylist {
|
|||
Set-Content -LiteralPath $reportPath -Value $report
|
||||
}
|
||||
|
||||
function Write-MusicStandardSnapshot {
|
||||
param(
|
||||
[string]$StorePath,
|
||||
[string]$PassDirectory,
|
||||
[string]$WorkerProject,
|
||||
[string]$LogPath
|
||||
)
|
||||
|
||||
$outputPath = Join-Path $PassDirectory "music-production-quality-standard.md"
|
||||
try {
|
||||
Invoke-LoggedProcess `
|
||||
-FilePath "dotnet" `
|
||||
-ArgumentList @(
|
||||
"run",
|
||||
"--project",
|
||||
$WorkerProject,
|
||||
"--",
|
||||
"music-show",
|
||||
"--store",
|
||||
$StorePath,
|
||||
"--knowledge-id",
|
||||
"music-production-quality-standard-v1",
|
||||
"--output",
|
||||
$outputPath
|
||||
) `
|
||||
-LogPath $LogPath
|
||||
}
|
||||
catch {
|
||||
Add-Content -LiteralPath $LogPath -Value "[$([DateTimeOffset]::UtcNow.ToString("O"))] quality-standard document not present in current learned-only store; wrote pass knowledge snapshot instead."
|
||||
$reportPath = Join-Path $PassDirectory "music-production-knowledge-report.md"
|
||||
$indexPath = Join-Path $PassDirectory "music-vector-index-after.md"
|
||||
$lines = New-Object System.Collections.Generic.List[string]
|
||||
$lines.Add("# Music Production Quality Standard Snapshot")
|
||||
$lines.Add("")
|
||||
$lines.Add("The canonical seed standard was not re-emitted by this learned-only pass. That is expected: pass distillation appends current lessons instead of reseeding manuals and static doctrine.")
|
||||
$lines.Add("")
|
||||
$lines.Add(('- store: `{0}`' -f $StorePath))
|
||||
$lines.Add(('- distillation report: `{0}`' -f $reportPath))
|
||||
$lines.Add(('- vector index: `{0}`' -f $indexPath))
|
||||
$lines.Add("")
|
||||
if (Test-Path -LiteralPath $reportPath) {
|
||||
$lines.Add("## Current Pass Knowledge Documents")
|
||||
$lines.Add("")
|
||||
foreach ($line in (Get-Content -LiteralPath $reportPath | Where-Object { $_ -like '- `*' })) {
|
||||
$lines.Add($line)
|
||||
}
|
||||
}
|
||||
|
||||
Set-Content -LiteralPath $outputPath -Value $lines
|
||||
}
|
||||
}
|
||||
|
||||
$repoRoot = Resolve-RepoRoot
|
||||
$codex = Get-Command $CodexCommand -ErrorAction Stop
|
||||
$loopId = New-Timestamp
|
||||
|
|
@ -786,21 +838,10 @@ Return a short final note naming knowledge-curation.md.
|
|||
-LogPath (Join-Path $logRoot "$passId-music-index.log")
|
||||
$latestMusicKnowledgeStore = $musicKnowledgeStore
|
||||
|
||||
Invoke-LoggedProcess `
|
||||
-FilePath "dotnet" `
|
||||
-ArgumentList @(
|
||||
"run",
|
||||
"--project",
|
||||
$workerProject,
|
||||
"--",
|
||||
"music-show",
|
||||
"--store",
|
||||
$musicKnowledgeStore,
|
||||
"--knowledge-id",
|
||||
"music-production-quality-standard-v1",
|
||||
"--output",
|
||||
(Join-Path $passDir "music-production-quality-standard.md")
|
||||
) `
|
||||
Write-MusicStandardSnapshot `
|
||||
-StorePath $musicKnowledgeStore `
|
||||
-PassDirectory $passDir `
|
||||
-WorkerProject $workerProject `
|
||||
-LogPath (Join-Path $logRoot "$passId-music-show-standard.log")
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue