@yemi33/minions 0.1.2034 → 0.1.2035

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/engine/queries.js +19 -4
  2. package/package.json +1 -1
package/engine/queries.js CHANGED
@@ -1944,6 +1944,17 @@ function resetProjectGitStatusCache() {
1944
1944
  * directly, and the 10 s TTL covers CLI-driven control-file edits.
1945
1945
  * - `engine/state.json` — surfaced via `getEngineState()` but changes
1946
1946
  * only on engine startup / reconcile. Negligible benefit.
1947
+ * - `engine/metrics.json` — surfaced via `getMetrics()` but written by
1948
+ * `trackEngineUsage()` / `trackAgentMetric()` / the engine tick itself
1949
+ * (~10 s batched flush plus every per-agent metric event). Like
1950
+ * `log.json` and `control.json`, its mtime advances at noise-floor
1951
+ * cadence — every engine tick (~60 s) plus several per-agent writes
1952
+ * in between, so with multiple agents active it bumps every few
1953
+ * seconds and busts the ETag cache on /api/status before steady-state
1954
+ * 304s can engage (W-mphejzct00065d8c). The engine-page metrics tile
1955
+ * is not the hot path and the 10 s `FAST_STATE_TTL` is plenty for
1956
+ * metric freshness; mutating handlers that need immediate metrics
1957
+ * visibility should call `invalidateStatusCache()` directly.
1947
1958
  * - `engine/cooldowns.json`, `engine/pr-links.json`, `engine/pending-
1948
1959
  * rebases.json`, `agents/<id>/managed-spawn.json` — not in the
1949
1960
  * `/api/status` payload.
@@ -1965,11 +1976,15 @@ function resetProjectGitStatusCache() {
1965
1976
  function getStatusFastStateMtimePaths(config) {
1966
1977
  const projects = getProjects(config || getConfig());
1967
1978
  const files = [
1968
- // Engine-level state surfaced by getDispatchQueue / getMetrics.
1969
- // `control.json` and `log.json` are intentionally omitted — see the
1970
- // "Files intentionally NOT tracked" section above (W-mpg8aapw001d7e0c).
1979
+ // Engine-level state surfaced by getDispatchQueue. `control.json`,
1980
+ // `log.json`, and `metrics.json` are intentionally omitted — see the
1981
+ // "Files intentionally NOT tracked" section above
1982
+ // (W-mpg8aapw001d7e0c, W-mphejzct00065d8c). dispatch.json stays
1983
+ // tracked because the home + engine sidebar activity dots and
1984
+ // renderDispatch() consume dispatch transitions at sub-FAST_STATE_TTL
1985
+ // cadence (active → completed flips must light up within one SPA
1986
+ // poll, not wait up to 10 s for the periodic SSE backstop).
1971
1987
  DISPATCH_PATH,
1972
- path.join(ENGINE_DIR, 'metrics.json'),
1973
1988
  // Watches surfaced by watchesMod.getWatches() (W-mpftp7na000td0f4 fix).
1974
1989
  path.join(ENGINE_DIR, 'watches.json'),
1975
1990
  // Central work-items.json surfaced by getWorkItems().
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.2034",
3
+ "version": "0.1.2035",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"