fluncle 0.120.0 → 0.122.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/fluncle.mjs +41 -4
  2. package/package.json +1 -1
package/bin/fluncle.mjs CHANGED
@@ -557,7 +557,7 @@ function parseVersion(version) {
557
557
  var currentVersion;
558
558
  var init_version = __esm(() => {
559
559
  init_output();
560
- currentVersion = "0.120.0".trim() ? "0.120.0".trim() : "0.1.0";
560
+ currentVersion = "0.122.0".trim() ? "0.122.0".trim() : "0.1.0";
561
561
  });
562
562
 
563
563
  // src/update-notifier.ts
@@ -2255,7 +2255,7 @@ function parseVersion2(version) {
2255
2255
  var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
2256
2256
  var init_version2 = __esm(() => {
2257
2257
  init_output();
2258
- currentVersion2 = "0.120.0".trim() ? "0.120.0".trim() : "0.1.0";
2258
+ currentVersion2 = "0.122.0".trim() ? "0.122.0".trim() : "0.1.0";
2259
2259
  });
2260
2260
 
2261
2261
  // ../../packages/registry/src/index.ts
@@ -2412,6 +2412,18 @@ var init_src = __esm(() => {
2412
2412
  url: `${SITE}/artist`,
2413
2413
  weights: { ssh: "secondary", web: "secondary" }
2414
2414
  },
2415
+ {
2416
+ exposedContent: [
2417
+ "/galaxies — the browse-by-feel lens: the archive grouped into operator-named sonic galaxies (k-means over the MuQ audio embedding space)",
2418
+ "/galaxies/:slug — one galaxy: its findings core-first, plus the adjacent galaxies by sound"
2419
+ ],
2420
+ kind: "web_route",
2421
+ name: "web.galaxies",
2422
+ operatorNotes: "The public sonic-cluster lens (browse-by-feel RFC). Distinct from the game's /galaxy + galaxy.fluncle.com. No probeConfig — the launch gate 404s the index until the operator has NAMED the whole map, so there is no always-200 URL to GET-probe; the api.galaxies op (always 200, empty list pre-launch) is the probe surface. A galaxy below the member floor renders noindex. The rave terminal carries a galaxies browse screen (ssh weight), and llms.txt advertises the lens once the map is named.",
2423
+ route: "/galaxies",
2424
+ url: `${SITE}/galaxies`,
2425
+ weights: { ssh: "secondary", web: "secondary" }
2426
+ },
2415
2427
  {
2416
2428
  exposedContent: ["the privacy policy"],
2417
2429
  kind: "web_route",
@@ -2538,6 +2550,21 @@ var init_src = __esm(() => {
2538
2550
  url: `${SITE}/api/v1/artists`,
2539
2551
  weights: { web: "secondary" }
2540
2552
  },
2553
+ {
2554
+ apiFormat: "application/json",
2555
+ discoveryUrl: `${SITE}/api/v1/openapi.json`,
2556
+ exposedContent: [
2557
+ "every named sonic galaxy with its derived member count, as JSON (empty until the map is fully named)",
2558
+ "/api/v1/galaxies/{slug} — one galaxy + its findings, core-first, paginated"
2559
+ ],
2560
+ kind: "api",
2561
+ name: "api.galaxies",
2562
+ operatorNotes: "The public reads behind the browse-by-feel lens (list_galaxies / get_galaxy). Always 200 — behind the launch gate the list is empty and a slug 404s, so it probes green pre-launch and lights up when the map is fully named.",
2563
+ probeConfig: { cadenceMs: PROBE_CADENCE_MS, kind: "http", timeoutMs: PROBE_TIMEOUT_MS },
2564
+ route: "/api/v1/galaxies",
2565
+ url: `${SITE}/api/v1/galaxies`,
2566
+ weights: { web: "secondary" }
2567
+ },
2541
2568
  {
2542
2569
  apiFormat: "application/json",
2543
2570
  discoveryUrl: `${SITE}/api/v1/openapi.json`,
@@ -2888,6 +2915,17 @@ var init_src = __esm(() => {
2888
2915
  probeConfig: { cadenceMs: 5 * MINUTE_MS, cronName: "fluncle-embed", kind: "cron" },
2889
2916
  weights: { status: "hidden" }
2890
2917
  },
2918
+ {
2919
+ command: "fluncle admin galaxies map",
2920
+ exposedContent: [
2921
+ "nightly assignment of each finding to its nearest sonic galaxy (k-means over the MuQ space)"
2922
+ ],
2923
+ kind: "cron",
2924
+ name: "cron.cluster",
2925
+ operatorNotes: "nightly (02:20 Amsterdam), run by a rave-02 HOST systemd timer (docs/agents/hermes/cluster-timer/). Assignment-ONLY + idempotent (a no-op on an unchanged corpus): assign each finding to its nearest stored centroid, recompute centroids as members' means, retire an emptied galaxy, consume an operator split_requested_at (a k=2 fit). Zero LLM tokens; sub-second CPU. A full k=9 fit is an OPERATOR act (--cold-start / --remint), never scheduled. Source: docs/agents/hermes/scripts/cluster-sweep.* + cluster.py. See docs/agents/cluster-engine.md.",
2926
+ probeConfig: { cadenceMs: 24 * 60 * MINUTE_MS, cronName: "fluncle-cluster", kind: "cron" },
2927
+ weights: { status: "hidden" }
2928
+ },
2891
2929
  {
2892
2930
  command: "fluncle admin tracks capture-audio --queue",
2893
2931
  exposedContent: [
@@ -8879,8 +8917,7 @@ async function runTrackGetAdmin(idOrLogId, options, trackGetAdminCommand2) {
8879
8917
  const t = result.track;
8880
8918
  console.log(`${t.logId ? `${t.logId} ` : ""}${t.artists.join(", ")} \u2014 ${t.title}`);
8881
8919
  console.log([t.bpm ? `${t.bpm} bpm` : undefined, t.key, t.label, t.enrichmentStatus].filter(Boolean).join(" \xB7 "));
8882
- const placed = t.galaxy && t.vibeX !== undefined && t.vibeY !== undefined;
8883
- console.log(`Placement: ${placed && t.galaxy ? `${t.galaxy.name} (${t.vibeX?.toFixed(2)}, ${t.vibeY?.toFixed(2)})` : "unplaced"}`);
8920
+ console.log(`Galaxy: ${t.galaxy ? t.galaxy.name : "unplaced"}`);
8884
8921
  console.log(`Video: ${t.videoUrl ? [t.videoSquaredAt ? "squared master" : "linked", t.videoVehicle].filter(Boolean).join(" \xB7 ") : "none (in the render queue)"}`);
8885
8922
  console.log(`Observation: ${t.observationAudioUrl ? `voiced${t.observationDurationMs ? ` \xB7 ${Math.round(t.observationDurationMs / 1000)}s` : ""}` : "none"}`);
8886
8923
  console.log(`Note: ${t.note ? t.note : "none"}`);
package/package.json CHANGED
@@ -31,5 +31,5 @@
31
31
  "url": "git+https://github.com/mauricekleine/fluncle.git"
32
32
  },
33
33
  "type": "module",
34
- "version": "0.120.0"
34
+ "version": "0.122.0"
35
35
  }