Skip to content

chore(deps): bump uuid from 9.0.1 to 14.0.0 in /pmoves/ui in the npm_and_yarn group across 1 directory - #1372

Merged
POWERFULMOVES merged 1 commit into
mainfrom
dependabot/npm_and_yarn/pmoves/ui/npm_and_yarn-e9ce4f7be9
Apr 27, 2026
Merged

POWERFULMOVES merged 1 commit into
mainfrom
dependabot/npm_and_yarn/pmoves/ui/npm_and_yarn-e9ce4f7be9

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Apr 23, 2026

Copy link
Copy Markdown
Contributor

Bumps the npm_and_yarn group with 1 update in the /pmoves/ui directory: uuid.

Updates uuid from 9.0.1 to 14.0.0

Release notes

Sourced from uuid's releases.

v14.0.0

14.0.0 (2026-04-19)

⚠ BREAKING CHANGES

  • expect crypto to be global everywhere (requires node@20+) (#935)
  • drop node@18 support (#934)

Features

Bug Fixes

  • expect crypto to be global everywhere (requires node@20+) (#935) (f2c235f)
  • Use GITHUB_TOKEN for release-please and enable npm provenance (#925) (ffa3138)

v13.0.0

13.0.0 (2025-09-08)

⚠ BREAKING CHANGES

  • make browser exports the default (#901)

Bug Fixes

v12.0.0

12.0.0 (2025-09-05)

⚠ BREAKING CHANGES

  • update to typescript@5.2 (#887)
  • remove CommonJS support (#886)
  • drop node@16 support (#883)

Features

Bug Fixes

... (truncated)

Changelog

Sourced from uuid's changelog.

14.0.0 (2026-04-19)

Security

  • Fixes GHSA-w5hq-g745-h8pq: v3(), v5(), and v6() did not validate that writes would remain within the bounds of a caller-supplied buffer, allowing out-of-bounds writes when an invalid offset was provided. A RangeError is now thrown if offset < 0 or offset + 16 > buf.length.

⚠ BREAKING CHANGES

  • crypto is now expected to be globally defined (requires node@20+) (#935)
  • drop node@18 support (#934)
  • upgrade minimum supported TypeScript version to 5.4.3, in keeping with the project's policy of supporting TypeScript versions released within the last two years

13.0.0 (2025-09-08)

⚠ BREAKING CHANGES

  • make browser exports the default (#901)

Bug Fixes

12.0.0 (2025-09-05)

⚠ BREAKING CHANGES

  • update to typescript@5.2 (#887)
  • remove CommonJS support (#886)
  • drop node@16 support (#883)

Features

Bug Fixes

11.1.0 (2025-02-19)

... (truncated)

Commits
  • 7c1ea08 chore(main): release 14.0.0 (#926)
  • 3d2c5b0 Merge commit from fork
  • f2c235f fix!: expect crypto to be global everywhere (requires node@20+) (#935)
  • 529ef08 chore: upgrade TypeScript and fixup types (#927)
  • 086fd79 chore: update dependencies (#933)
  • dc4ddb8 feat!: drop node@18 support (#934)
  • 0f1f9c9 chore: switch to Biome for parsing and linting (#932)
  • e2879e6 chore: use maintained version of npm-run-all (#930)
  • ffa3138 fix: Use GITHUB_TOKEN for release-please and enable npm provenance (#925)
  • 0423d49 docs: remove obsolete v1 option notes (#915)
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for uuid since your current version.

Install script changes

This version modifies prepare script that runs during installation. Review the package contents before updating.


@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Apr 23, 2026
Bumps the npm_and_yarn group with 1 update in the /pmoves/ui directory: [uuid](https://github.com/uuidjs/uuid).


Updates `uuid` from 9.0.1 to 14.0.0
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](uuidjs/uuid@v9.0.1...v14.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 14.0.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/pmoves/ui/npm_and_yarn-e9ce4f7be9 branch from 701c529 to 9b0d4fa Compare April 23, 2026 14:54
@POWERFULMOVES
POWERFULMOVES merged commit 92b09a2 into main Apr 27, 2026
12 of 13 checks passed
@POWERFULMOVES
POWERFULMOVES deleted the dependabot/npm_and_yarn/pmoves/ui/npm_and_yarn-e9ce4f7be9 branch April 27, 2026 07:13
POWERFULMOVES added a commit that referenced this pull request May 3, 2026
…#1415)

* docs(launch): Stage 0 — initial layout validation for launch readiness

Establishes the launch-readiness substrate before any Stage 1+ edits:

- pmoves/configs/tac_trees/pmoves-launch-readiness.tac.yaml — 12-stage TAC
  tree mirroring the pinokio-p7.tac.yaml convention (name/version/root with
  hierarchical children, action.type/expect, status, agent_hint). Stages 0-3
  + 7-11 launch-blocking; Stages 4-6 (Longbow, viz, retrace lifeline) v1.1.
- pmoves/docs/launch/PLIGHT_AND_PLAN.md — narrative + milestones M0-M6 +
  outstanding owner-decision table; body of the GitHub plight-and-plan issue.
- pmoves/docs/launch/PR_BACKLOG_CLASSIFICATION.md — 9 open PRs classified as
  critical-path (#1381 sign-trail, #1371 A2A activation), opportunistic
  (#1385/86/87 docs), auto-merge (#1388/#1372 dependabots), or v1.1-deferred
  (#1373/#1374 drafts).
- scripts/validate_launch_layout.py — TAC-walking validator. Supports
  file_exists, file_or, manual, gh_issue, pytest, script, nats_subject,
  pr_state, supabase_migration, nats_messages_seen check types. Outputs
  pmoves/docs/launch/LAYOUT_VALIDATION_REPORT.md.
- pmoves/docs/launch/LAYOUT_VALIDATION_REPORT.md — first-run baseline showing
  11/45 blocking nodes pass (Stage 0 deliverables green; Stage 1+ pending).

Cross-cutting principle established in the plan: every gate junction emits
both syntactic and semantic measure; drift goes to a gate_drift_dynamo
Qdrant collection (drift-as-dynamo). Defense-in-stance for Stage 8: parallel
work-attestation stub + TradFi+Web3 hybrid token tracks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(launch): close Stage 0 — issue #1389 filed, all 5 nodes green

GitHub plight-and-plan tracking issue filed at
#1389. Validation report
refreshed to reflect closed gate: 12/45 blocking nodes now pass (Stage 0
contributing 5/5).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(audit): credential + naming-drift coherence gate (5×5 trail handshake)

Lands the foundation for the 5×5 trail handshake invariant: agent emit /
operator confirm / CI verify / trail record all read the same
signing_card_id. Converts ten naming-drift sites from a recurring
CodeRabbit/owl annoyance into an enforceable contract.

Phase 1: CREDENTIAL_AND_DRIFT_SITREP — factual snapshot of PAT state,
GitHub App migration gap, commit-signing posture, runner secrets pipeline,
and the 10-row drift inventory with severity ranking.

Phase 2: signing_identity_cards.yaml (16 cards: 1 operator, 9 agents,
1 service-account, 5 runners) + SIGNING_IDENTITY_CARDS.md operator
explainer. Schema validation embedded in audit gate (canonical schema
file pending damage-control policy carve-out for new versioned files).

Phase 3: CANONICAL_NAMES.md decision log + bootstrap/registry.json
canonical_aliases structured block. Audit gate prefers the JSON form;
markdown is the human-facing fallback.

Phase 4: audit_naming_drift.py (666 lines, 6 surface checks) + 10-test
suite + naming-drift-check / naming-drift-strict make targets. Currently
detects 7 P0 (GH_APP_SEC PEM misuse) and ~83 P1 (compose ${VAR:-}
triage backlog made visible). Strict mode stays local-only per
Owner-Decision E until P0 → 0.

Phase 5: node_descriptions_diff scaffold (gitignored runtime artifact).

Trail handshake (channel #4 of 5×5): sign_trail.py now reads cards on
every signing call and stamps signing_card_id on the payload. Advisory
mode per Owner-Decision D — missing card warns to stderr but doesn't
block.

Three-Body separation honored:
  - Delivery body: claude-opus produced phases 1-5 deliverables
  - Control body: z890-claude reviewed independently, closed 3 of 5
    surfaced gaps in this commit (trail handshake, registry block,
    schema validation), filed 2 as deferred follow-ups
  - Memory body: cards seed + audit log artifacts feed the Cipher trail

Files (11):
  pmoves/docs/operations/CREDENTIAL_AND_DRIFT_SITREP.md  [NEW]
  pmoves/config/signing_identity_cards.yaml              [NEW]
  pmoves/docs/operations/SIGNING_IDENTITY_CARDS.md       [NEW]
  pmoves/docs/operations/CANONICAL_NAMES.md              [NEW]
  pmoves/scripts/audit_naming_drift.py                   [NEW]
  pmoves/tests/test_audit_naming_drift.py                [NEW]
  pmoves/tools/sign_trail.py                             [EDIT — card resolver + stamp]
  pmoves/bootstrap/registry.json                         [EDIT — canonical_aliases block only]
  pmoves/mk/preflight.mk                                 [EDIT — naming-drift targets]
  pmoves/docs/AGENTS/AGNOTE4482.md                       [EDIT — Three-Body signoff entry]
  .gitignore                                             [EDIT — runtime log artifacts]

Owner-Decision surface (awaiting DARKXSIDE ACK on each):
  A. Operator SSH fingerprint capture timing — operator-driven
  B. PAT consolidation: 6→1 vs document-scope-per-name — document for now
  C. JWT alias deprecation window — 30 days, sunset 2026-05-26
  D. 5×5 trail handshake mandatory vs advisory — advisory at first
  E. naming-drift-strict in CI promotion criteria — local-only first

Deferred follow-ups:
  - signing-card.v1.schema.json at canonical path (needs damage-control
    patterns.yaml carve-out for new versioned schema files; coupling
    that policy change to a credential-audit PR is out-of-scope)
  - naming-drift-strict CI promotion (after one clean week local)
  - Operator SSH fingerprint backfill on signing_identity_cards.yaml

Verification:
  uv run pytest pmoves/tests/test_audit_naming_drift.py -v   # 10/10 PASS
  make -C pmoves naming-drift-check                          # exit 0
  make -C pmoves naming-drift-strict                         # exit 1 (expected)
  python pmoves/tools/sign_trail.py --agent-id z890-claude   # stamps card_id

ACK::CLAUDE-OPUS::CREDENTIAL-AUDIT-PHASES-1-5::2026-04-26
ACK::Z890-CLAUDE::CREDENTIAL-AUDIT-REVIEW::2026-04-26

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(content-provenance): contracts + SPARK working parity

Establishes the data layer for the SPARK-first content-provenance pipeline
that gates HiRAG ingest behind shaping, attestation, and CHIT geometry.

Pipeline shape (publishers → consumers covered in follow-up commits):
  channel-monitor | ffmpeg-whisper  → content.raw.v1
                                   → SPARK content-provenance-gate
                                   → content.lexicon.shaped.v1
                                   → content.provenance.attested.v1
                                   → content.hirag.accepted.v1 / rejected.v1
                                   → hi-rag-gateway-v2 + hyperdimensions

Adds:
- 5 new content.* JSON schemas (raw, lexicon.shaped, provenance.attested,
  hirag.accepted, hirag.rejected)
- 5 topics.json entries wiring publisher/subscriber contracts
- pmoves/docs/architecture/PMOVES_SPARK_PROVENANCE_PARITY.md — canonical
  working contract for SPARK shaping, attestation, and HiRAG gating
- AGNOTE-dgx-spark expanded from node stub into working-lane note with
  contract pointer and near-term sequence (deploy mesh.gpu.* streams →
  add content.* subjects → wire shaping worker → gate HiRAG → feed
  Hyperdimensions replay)
- Hyperdimensions control plane: documents /hyperdimensions/provenance/
  live save + viewer routes (consumers in Cluster 3)
- CHIT_CHANGE_TRACKER + DOCUMENTATION_MAP: changelog entry + date refresh

Z890 owns trust/infra edges (subjects, JetStream policy, HiRAG gates,
canon). SPARK owns heavy-inference shaping. Hyperdimensions becomes the
replay/control surface for shaped packets.

Cluster 1 of 5 (split-by-cluster commit plan from
C:\Users\DARKXSIDE\.claude\plans\lets-get-sitrep-plz-shiny-octopus.md).
Originating draft of schemas + SPARK parity doc landed in working tree
via Codex CLI on 2026-04-25; this commit promotes them to canon.

Co-Authored-By: Codex CLI <codex@cataclysm.studios>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(content-provenance): publishers — channel-monitor + ffmpeg-whisper emit content.raw.v1

Wires the source ends of the SPARK content-provenance pipeline. Both
services now publish raw content envelopes onto NATS for downstream
shaping, attestation, and HiRAG gating.

channel-monitor:
- New CHANNEL_MONITOR_CONTENT_RAW_PUBLISH toggle (default off; opt-in
  per node)
- Persistent NATS client (best-effort connect; non-fatal on failure)
- Publishes content.raw.v1 events on manual drops with correlation_id
  threading
- Defensive guards when nats-py is not installed
- Tests + README + requirements bump

ffmpeg-whisper:
- Existing CGP publisher path extended to also emit content.raw.v1
  alongside transcript.ready.v1 when CGP_PUBLISH_ENABLED or
  CONTENT_RAW_PUBLISH_ENABLED is set
- Single shared NATS client; publish failures stay non-fatal
- Symbol rename in log lines: "CGP publish failed" → "NATS publish
  failed" (covers both subjects)

Subject contract: content.raw.v1 schema in
pmoves/contracts/schemas/content/raw.v1.schema.json (Cluster 1).

Cluster 2 of 5.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(content-provenance): consumers + content-provenance-gate worker + JetStream config

Wires the consumer end of the SPARK content-provenance pipeline:

content-provenance-gate (NEW service):
- Dockerfile + main.py (~21K) + requirements.in
- Implements the SPARK shaping → attestation gate that lives between
  content.raw.v1 and content.hirag.{accepted,rejected}.v1
- Owns lexicon shaping, semantic scoring, CHIT geometry attestation,
  Merkle/Graphiti binding before HiRAG ingest

hi-rag-gateway-v2:
- New provenance_ingest.py: content.hirag.accepted.v1 listener +
  ProvenanceAcceptedItem upsert path that writes shaped lexicon +
  scorecard into Qdrant + Meilisearch
- New provenance_geometry.py: extracts hyperdimensions save config
  from accepted CGP envelopes for /hyperdimensions/provenance/latest.json
- New routes/provenance.py: dedicated upsert + status routes for
  callers that already hold weighted terms / favorite words / sections
- routes/geometry.py: adds /hyperdimensions/provenance/{latest.json,view}
  for live save retrieval + redirect into Hyperdimensions UI
- models.py: ProvenanceAcceptedItem + ProvenanceUpsertReq Pydantic types
- geometry_bus.py + app.py: content.hirag.accepted.v1 listener task
  registered in lifespan (startup connect, graceful drain on shutdown)
- New unit tests: test_provenance_geometry + test_provenance_ingest

gateway:
- Subscribe to content.raw.v1, content.hirag.accepted.v1,
  content.hirag.rejected.v1 alongside existing ingest.* topics

NATS:
- pmoves/nats/content_provenance_streams.yaml: JetStream stream policy
  for content.* subjects (referenced in AGNOTE-dgx-spark near-term lane)

Tests:
- pmoves/tests/services/test_content_provenance_gate.py

Cluster 3 of 5. Hi-RAG gating and SPARK shaping worker now exist in
canon; deployment of mesh.gpu.* + content.* JetStreams remains an
operator step per AGNOTE-dgx-spark.

Co-Authored-By: Codex CLI <codex@cataclysm.studios>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(space-agent): NATS bridge — pmoves.space.action.v1 + pmoves.space.event.v1

Surfaces PMOVES-space-agent (Node.js customware bridge, port 3010) on
the bus so space CRUD + lifecycle events can be observed and acted on
by Agent Zero, attestation workers, and UI feeds.

Subjects:
- pmoves.space.action.v1 — published on /api/pmoves_bridge POST for
  create_space / update_widget / delete_space / list_spaces / read_space
- pmoves.space.event.v1 — published on customware lifecycle changes
  (mutation succeeded, widget updated, space deleted). Stage 8 token-stub
  watches event for work-receipt minting.

Wiring:
- pmoves/bootstrap/registry.json: space-agent service entry with
  PMOVES_BRIDGE_API_KEY (random_hex 32, sensitive), SPACE_AGENT_BIND
  (default 127.0.0.1, opt-in LAN), SPACE_AGENT_PORT, SPACE_AGENT_SRC
  for submodule mount path
- pmoves/config/agent_registry.yaml: space_agent agent entry with
  node_affinity [z890, 5090], orchestration team, agents compose profile,
  attribution_gated CHIT toggle
- .claude/context/nats-subjects.md (×2 mirrors): canonical subject docs

Lane fit (per agent-teams.yaml + operator roster):
- z890 owns trust/infra + DoX + tokenomics
- 5090 carries voice/media weight
- space-agent's customware actions show up in both nodes' surfaces

Cluster 4 of 5.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(a2ui-renderer): Pretext text-layout engine + ProvenanceLivingDoc composition + /render/provenance route

Adds the 4090 display surface for the SPARK content-provenance pipeline.
Captions, transcript overlays, provenance labels, and living-doc copy
blocks now wrap deterministically inside the Remotion browser runtime.

Pretext text-layout engine:
- src/remotion/pretextLayout.ts — wraps @chenglou/pretext, falls back to
  browser whitespace handling when canvas measurement is unavailable
- a2ui-animation-schema.json: text + heading elements may opt into
  text_layout.engine=pretext with maxWidth, lineHeight, letterSpacing,
  whiteSpace, wordBreak, maxLines, shrinkWrap, debugBoxes
- src/remotion/A2UIComposition.tsx + index.tsx: integrate pretext
  layout per-element with layout_summary inventory in render response
- skills/remotion-render/manifest.yaml: Pretext metadata + provenance
  endpoint listed as alternate (/render/provenance)

ProvenanceLivingDoc composition:
- src/remotion/ProvenanceLivingDoc.tsx — dedicated composition rendering
  title, summary, merkle root, shape id, weighted terms, favorite words,
  sections, and provenance refs into a living-doc artifact
- src/provenanceLivingDoc.ts — server-side route handler
- src/index.ts: POST /render/provenance route accepts a flat
  ProvenanceLivingDoc request (no A2UI scene-builder layer required)
- a2ui.render.completed.v1 carries provenance_summary alongside
  layout_summary

Tooling:
- scripts/render-provenance-artifact.mjs — local helper to render a
  provenance artifact from a request JSON file (npm run build &&
  node scripts/render-provenance-artifact.mjs <req.json> <out.png>)
- demos/provenance_living_doc.request.json — request fixture
- demos/provenance_living_doc.mof_example.json — MOF-themed sample
- demos/.gitignore — ignores *.preview.{png,mp4,gif,webm} render
  outputs (regenerated locally via the helper script)

CREATOR_PIPELINE.md: documents Living Docs Text Layout section, control
seam (Pmoves-pretext fork tracked alongside @chenglou/pretext), usage
pattern, and the dedicated /render/provenance route.

Cluster 5 of 5 — closes the split-by-cluster commit plan. Working tree
feature work for content-provenance + space-agent + Pretext is now in
canon. Submodule drift reconciliation (Tasks 4-5-7) and rebase (Task 8)
remain.

Co-Authored-By: Codex CLI <codex@cataclysm.studios>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(agnote4482): board entry — Z890-CLAUDE sitrep + drift audit + handoff matrix

Adds CLAIM/REVIEW/RELEASE block to Active Claim Register restoring board
coherence after 19-day quiet period (last entry: CLAUDE-OPUS 2026-04-21).

CLAIM: Sitrep + drift audit on feature/launch-readiness-stage-0
identifying three drift classes — (A) 4 cross-main divergent submodule
pointers incl. Pmoves-cipher + PMOVES-transcribe-and-fetch with origin/main
commits force-pushed away upstream, (B) 20 working-tree submodule advances
unique to neither branch HEAD nor main incl. ClawZ rewind, (C) 28+ files
of uncommitted feature work — coherent SPARK content-provenance pipeline.

REVIEW: Dependency graph mapped against documented agent lanes
(AGNOTE4482_SITREP.md:106-117 + AGNOTE4482PHI.5090-SUBMODULE-AUDIT.md
precedent). Critical path: Z890 commit feature work → 5090 Class B
audit + bake → 5090 Archon+BotZ-gw promote → Z890 rebase. Parallel
lanes: 4090 PR fixes, operator + submodule owners republish for
cipher/transcribe-and-fetch, operator decisions A/C + §1.4 signoff.

RELEASE: Sitrep + 5-cluster commit plan documented in
C:\Users\DARKXSIDE\.claude\plans\lets-get-sitrep-plz-shiny-octopus.md.
Handoffs proposed by lane signature:
  5090-CLAUDE: Tasks 4-5-7 (submodule sync lane)
  4090-CLAUDE: Tasks 2-3 (PR review / Shift Crew lane)
  CODEX-GPT5: Task 9 (§1.4 docs/prospectus signoff)
  OPERATOR: Tasks 6, 10, 11 (upstream republish, SSH fingerprint, JWT sunset)
  Z890-CLAUDE: Task 1 done (this commit set), Task 8 reserved.

Cluster commit pairs (just landed):
  500652d contracts + SPARK working parity
  5153a0b publishers — channel-monitor + ffmpeg-whisper
  2f908a0 consumers + content-provenance-gate + JetStream config
  53abcd4 space-agent NATS bridge
  2eed4a7 a2ui-renderer Pretext + ProvenanceLivingDoc + /render/provenance

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(a2ui-renderer): differentiate render:provenance:still vs :file scripts

Both npm scripts invoked the bare CLI with no arguments, so they always
produced identical .png stills regardless of script name. Pass explicit
input + output args so :still emits PNG and :file emits MP4 — matching
the script's extension-driven branch in render-provenance-artifact.mjs.

Addresses CodeRabbit critical thread on PR #1415, package.json:12.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(ci): disable self-hosted-builds.yml push + PR triggers

Self-hosted runners (ai-lab/5090, kvm4) are not reliably online — the
last 10+ runs of this workflow on push to main have all been cancelled
since 2025-12. Mirroring the precedent set in self-hosted-builds-hardened.yml
(lines 11-14): comment out both auto-triggers, keep workflow_dispatch as
the operator escape hatch.

Re-enable both blocks when:
  - 5090 node has completed submodule sync
  - pmoves-nats-1 is exposed to the host (4222/8222 portproxy fixed)
  - self-hosted runners pass a clean dispatch run

Operators: trigger manually via gh workflow run self-hosted-builds.yml.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: address PR #1415 review findings (C1 H1 H2 H3 H4 M1 M3 M6)

* fix(ci): suit-release-policy.yml YAML — bash continuation breaks block scalar

Lines 45-46 + 54-55 had bash multi-line string continuations starting
at column 1, which dropped them outside the `run: |` block scalar's
10-space indent. Result: YAML parser fails, every run reported as
"workflow file issue" — gate has been broken since inception (7+
consecutive failed runs).

Fix: replace literal newlines in TOUCHED_FILES assignment with bash
ANSI-C quoting (\$'\n'), keeping the assignment on one YAML-safe line:

  TOUCHED_FILES="\$TOUCHED_FILES"\$'\n'"\$MATCHES"

Verified locally with yaml.safe_load → triggers + jobs parse cleanly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(a2ui-renderer): make provenance helper source-backed and override-safe

* fix: address CodeRabbit CRITICAL findings

- Exception handler returns JSONResponse instead of HTTPException
- NATS_URL access made conditional on CONTENT_PROVENANCE_DISABLE_NATS
- Added JSONResponse import

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Codex CLI <codex@cataclysm.studios>
Co-authored-by: PMOVES-AGENT-ZERO-SPARK <pmoves-spark@powerfulmoves.com>
POWERFULMOVES added a commit that referenced this pull request May 11, 2026
…#1432)

* docs(launch): Stage 0 — initial layout validation for launch readiness

Establishes the launch-readiness substrate before any Stage 1+ edits:

- pmoves/configs/tac_trees/pmoves-launch-readiness.tac.yaml — 12-stage TAC
  tree mirroring the pinokio-p7.tac.yaml convention (name/version/root with
  hierarchical children, action.type/expect, status, agent_hint). Stages 0-3
  + 7-11 launch-blocking; Stages 4-6 (Longbow, viz, retrace lifeline) v1.1.
- pmoves/docs/launch/PLIGHT_AND_PLAN.md — narrative + milestones M0-M6 +
  outstanding owner-decision table; body of the GitHub plight-and-plan issue.
- pmoves/docs/launch/PR_BACKLOG_CLASSIFICATION.md — 9 open PRs classified as
  critical-path (#1381 sign-trail, #1371 A2A activation), opportunistic
  (#1385/86/87 docs), auto-merge (#1388/#1372 dependabots), or v1.1-deferred
  (#1373/#1374 drafts).
- scripts/validate_launch_layout.py — TAC-walking validator. Supports
  file_exists, file_or, manual, gh_issue, pytest, script, nats_subject,
  pr_state, supabase_migration, nats_messages_seen check types. Outputs
  pmoves/docs/launch/LAYOUT_VALIDATION_REPORT.md.
- pmoves/docs/launch/LAYOUT_VALIDATION_REPORT.md — first-run baseline showing
  11/45 blocking nodes pass (Stage 0 deliverables green; Stage 1+ pending).

Cross-cutting principle established in the plan: every gate junction emits
both syntactic and semantic measure; drift goes to a gate_drift_dynamo
Qdrant collection (drift-as-dynamo). Defense-in-stance for Stage 8: parallel
work-attestation stub + TradFi+Web3 hybrid token tracks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(launch): close Stage 0 — issue #1389 filed, all 5 nodes green

GitHub plight-and-plan tracking issue filed at
#1389. Validation report
refreshed to reflect closed gate: 12/45 blocking nodes now pass (Stage 0
contributing 5/5).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(audit): credential + naming-drift coherence gate (5×5 trail handshake)

Lands the foundation for the 5×5 trail handshake invariant: agent emit /
operator confirm / CI verify / trail record all read the same
signing_card_id. Converts ten naming-drift sites from a recurring
CodeRabbit/owl annoyance into an enforceable contract.

Phase 1: CREDENTIAL_AND_DRIFT_SITREP — factual snapshot of PAT state,
GitHub App migration gap, commit-signing posture, runner secrets pipeline,
and the 10-row drift inventory with severity ranking.

Phase 2: signing_identity_cards.yaml (16 cards: 1 operator, 9 agents,
1 service-account, 5 runners) + SIGNING_IDENTITY_CARDS.md operator
explainer. Schema validation embedded in audit gate (canonical schema
file pending damage-control policy carve-out for new versioned files).

Phase 3: CANONICAL_NAMES.md decision log + bootstrap/registry.json
canonical_aliases structured block. Audit gate prefers the JSON form;
markdown is the human-facing fallback.

Phase 4: audit_naming_drift.py (666 lines, 6 surface checks) + 10-test
suite + naming-drift-check / naming-drift-strict make targets. Currently
detects 7 P0 (GH_APP_SEC PEM misuse) and ~83 P1 (compose ${VAR:-}
triage backlog made visible). Strict mode stays local-only per
Owner-Decision E until P0 → 0.

Phase 5: node_descriptions_diff scaffold (gitignored runtime artifact).

Trail handshake (channel #4 of 5×5): sign_trail.py now reads cards on
every signing call and stamps signing_card_id on the payload. Advisory
mode per Owner-Decision D — missing card warns to stderr but doesn't
block.

Three-Body separation honored:
  - Delivery body: claude-opus produced phases 1-5 deliverables
  - Control body: z890-claude reviewed independently, closed 3 of 5
    surfaced gaps in this commit (trail handshake, registry block,
    schema validation), filed 2 as deferred follow-ups
  - Memory body: cards seed + audit log artifacts feed the Cipher trail

Files (11):
  pmoves/docs/operations/CREDENTIAL_AND_DRIFT_SITREP.md  [NEW]
  pmoves/config/signing_identity_cards.yaml              [NEW]
  pmoves/docs/operations/SIGNING_IDENTITY_CARDS.md       [NEW]
  pmoves/docs/operations/CANONICAL_NAMES.md              [NEW]
  pmoves/scripts/audit_naming_drift.py                   [NEW]
  pmoves/tests/test_audit_naming_drift.py                [NEW]
  pmoves/tools/sign_trail.py                             [EDIT — card resolver + stamp]
  pmoves/bootstrap/registry.json                         [EDIT — canonical_aliases block only]
  pmoves/mk/preflight.mk                                 [EDIT — naming-drift targets]
  pmoves/docs/AGENTS/AGNOTE4482.md                       [EDIT — Three-Body signoff entry]
  .gitignore                                             [EDIT — runtime log artifacts]

Owner-Decision surface (awaiting DARKXSIDE ACK on each):
  A. Operator SSH fingerprint capture timing — operator-driven
  B. PAT consolidation: 6→1 vs document-scope-per-name — document for now
  C. JWT alias deprecation window — 30 days, sunset 2026-05-26
  D. 5×5 trail handshake mandatory vs advisory — advisory at first
  E. naming-drift-strict in CI promotion criteria — local-only first

Deferred follow-ups:
  - signing-card.v1.schema.json at canonical path (needs damage-control
    patterns.yaml carve-out for new versioned schema files; coupling
    that policy change to a credential-audit PR is out-of-scope)
  - naming-drift-strict CI promotion (after one clean week local)
  - Operator SSH fingerprint backfill on signing_identity_cards.yaml

Verification:
  uv run pytest pmoves/tests/test_audit_naming_drift.py -v   # 10/10 PASS
  make -C pmoves naming-drift-check                          # exit 0
  make -C pmoves naming-drift-strict                         # exit 1 (expected)
  python pmoves/tools/sign_trail.py --agent-id z890-claude   # stamps card_id

ACK::CLAUDE-OPUS::CREDENTIAL-AUDIT-PHASES-1-5::2026-04-26
ACK::Z890-CLAUDE::CREDENTIAL-AUDIT-REVIEW::2026-04-26

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(content-provenance): contracts + SPARK working parity

Establishes the data layer for the SPARK-first content-provenance pipeline
that gates HiRAG ingest behind shaping, attestation, and CHIT geometry.

Pipeline shape (publishers → consumers covered in follow-up commits):
  channel-monitor | ffmpeg-whisper  → content.raw.v1
                                   → SPARK content-provenance-gate
                                   → content.lexicon.shaped.v1
                                   → content.provenance.attested.v1
                                   → content.hirag.accepted.v1 / rejected.v1
                                   → hi-rag-gateway-v2 + hyperdimensions

Adds:
- 5 new content.* JSON schemas (raw, lexicon.shaped, provenance.attested,
  hirag.accepted, hirag.rejected)
- 5 topics.json entries wiring publisher/subscriber contracts
- pmoves/docs/architecture/PMOVES_SPARK_PROVENANCE_PARITY.md — canonical
  working contract for SPARK shaping, attestation, and HiRAG gating
- AGNOTE-dgx-spark expanded from node stub into working-lane note with
  contract pointer and near-term sequence (deploy mesh.gpu.* streams →
  add content.* subjects → wire shaping worker → gate HiRAG → feed
  Hyperdimensions replay)
- Hyperdimensions control plane: documents /hyperdimensions/provenance/
  live save + viewer routes (consumers in Cluster 3)
- CHIT_CHANGE_TRACKER + DOCUMENTATION_MAP: changelog entry + date refresh

Z890 owns trust/infra edges (subjects, JetStream policy, HiRAG gates,
canon). SPARK owns heavy-inference shaping. Hyperdimensions becomes the
replay/control surface for shaped packets.

Cluster 1 of 5 (split-by-cluster commit plan from
C:\Users\DARKXSIDE\.claude\plans\lets-get-sitrep-plz-shiny-octopus.md).
Originating draft of schemas + SPARK parity doc landed in working tree
via Codex CLI on 2026-04-25; this commit promotes them to canon.

Co-Authored-By: Codex CLI <codex@cataclysm.studios>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(content-provenance): publishers — channel-monitor + ffmpeg-whisper emit content.raw.v1

Wires the source ends of the SPARK content-provenance pipeline. Both
services now publish raw content envelopes onto NATS for downstream
shaping, attestation, and HiRAG gating.

channel-monitor:
- New CHANNEL_MONITOR_CONTENT_RAW_PUBLISH toggle (default off; opt-in
  per node)
- Persistent NATS client (best-effort connect; non-fatal on failure)
- Publishes content.raw.v1 events on manual drops with correlation_id
  threading
- Defensive guards when nats-py is not installed
- Tests + README + requirements bump

ffmpeg-whisper:
- Existing CGP publisher path extended to also emit content.raw.v1
  alongside transcript.ready.v1 when CGP_PUBLISH_ENABLED or
  CONTENT_RAW_PUBLISH_ENABLED is set
- Single shared NATS client; publish failures stay non-fatal
- Symbol rename in log lines: "CGP publish failed" → "NATS publish
  failed" (covers both subjects)

Subject contract: content.raw.v1 schema in
pmoves/contracts/schemas/content/raw.v1.schema.json (Cluster 1).

Cluster 2 of 5.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(content-provenance): consumers + content-provenance-gate worker + JetStream config

Wires the consumer end of the SPARK content-provenance pipeline:

content-provenance-gate (NEW service):
- Dockerfile + main.py (~21K) + requirements.in
- Implements the SPARK shaping → attestation gate that lives between
  content.raw.v1 and content.hirag.{accepted,rejected}.v1
- Owns lexicon shaping, semantic scoring, CHIT geometry attestation,
  Merkle/Graphiti binding before HiRAG ingest

hi-rag-gateway-v2:
- New provenance_ingest.py: content.hirag.accepted.v1 listener +
  ProvenanceAcceptedItem upsert path that writes shaped lexicon +
  scorecard into Qdrant + Meilisearch
- New provenance_geometry.py: extracts hyperdimensions save config
  from accepted CGP envelopes for /hyperdimensions/provenance/latest.json
- New routes/provenance.py: dedicated upsert + status routes for
  callers that already hold weighted terms / favorite words / sections
- routes/geometry.py: adds /hyperdimensions/provenance/{latest.json,view}
  for live save retrieval + redirect into Hyperdimensions UI
- models.py: ProvenanceAcceptedItem + ProvenanceUpsertReq Pydantic types
- geometry_bus.py + app.py: content.hirag.accepted.v1 listener task
  registered in lifespan (startup connect, graceful drain on shutdown)
- New unit tests: test_provenance_geometry + test_provenance_ingest

gateway:
- Subscribe to content.raw.v1, content.hirag.accepted.v1,
  content.hirag.rejected.v1 alongside existing ingest.* topics

NATS:
- pmoves/nats/content_provenance_streams.yaml: JetStream stream policy
  for content.* subjects (referenced in AGNOTE-dgx-spark near-term lane)

Tests:
- pmoves/tests/services/test_content_provenance_gate.py

Cluster 3 of 5. Hi-RAG gating and SPARK shaping worker now exist in
canon; deployment of mesh.gpu.* + content.* JetStreams remains an
operator step per AGNOTE-dgx-spark.

Co-Authored-By: Codex CLI <codex@cataclysm.studios>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(space-agent): NATS bridge — pmoves.space.action.v1 + pmoves.space.event.v1

Surfaces PMOVES-space-agent (Node.js customware bridge, port 3010) on
the bus so space CRUD + lifecycle events can be observed and acted on
by Agent Zero, attestation workers, and UI feeds.

Subjects:
- pmoves.space.action.v1 — published on /api/pmoves_bridge POST for
  create_space / update_widget / delete_space / list_spaces / read_space
- pmoves.space.event.v1 — published on customware lifecycle changes
  (mutation succeeded, widget updated, space deleted). Stage 8 token-stub
  watches event for work-receipt minting.

Wiring:
- pmoves/bootstrap/registry.json: space-agent service entry with
  PMOVES_BRIDGE_API_KEY (random_hex 32, sensitive), SPACE_AGENT_BIND
  (default 127.0.0.1, opt-in LAN), SPACE_AGENT_PORT, SPACE_AGENT_SRC
  for submodule mount path
- pmoves/config/agent_registry.yaml: space_agent agent entry with
  node_affinity [z890, 5090], orchestration team, agents compose profile,
  attribution_gated CHIT toggle
- .claude/context/nats-subjects.md (×2 mirrors): canonical subject docs

Lane fit (per agent-teams.yaml + operator roster):
- z890 owns trust/infra + DoX + tokenomics
- 5090 carries voice/media weight
- space-agent's customware actions show up in both nodes' surfaces

Cluster 4 of 5.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(a2ui-renderer): Pretext text-layout engine + ProvenanceLivingDoc composition + /render/provenance route

Adds the 4090 display surface for the SPARK content-provenance pipeline.
Captions, transcript overlays, provenance labels, and living-doc copy
blocks now wrap deterministically inside the Remotion browser runtime.

Pretext text-layout engine:
- src/remotion/pretextLayout.ts — wraps @chenglou/pretext, falls back to
  browser whitespace handling when canvas measurement is unavailable
- a2ui-animation-schema.json: text + heading elements may opt into
  text_layout.engine=pretext with maxWidth, lineHeight, letterSpacing,
  whiteSpace, wordBreak, maxLines, shrinkWrap, debugBoxes
- src/remotion/A2UIComposition.tsx + index.tsx: integrate pretext
  layout per-element with layout_summary inventory in render response
- skills/remotion-render/manifest.yaml: Pretext metadata + provenance
  endpoint listed as alternate (/render/provenance)

ProvenanceLivingDoc composition:
- src/remotion/ProvenanceLivingDoc.tsx — dedicated composition rendering
  title, summary, merkle root, shape id, weighted terms, favorite words,
  sections, and provenance refs into a living-doc artifact
- src/provenanceLivingDoc.ts — server-side route handler
- src/index.ts: POST /render/provenance route accepts a flat
  ProvenanceLivingDoc request (no A2UI scene-builder layer required)
- a2ui.render.completed.v1 carries provenance_summary alongside
  layout_summary

Tooling:
- scripts/render-provenance-artifact.mjs — local helper to render a
  provenance artifact from a request JSON file (npm run build &&
  node scripts/render-provenance-artifact.mjs <req.json> <out.png>)
- demos/provenance_living_doc.request.json — request fixture
- demos/provenance_living_doc.mof_example.json — MOF-themed sample
- demos/.gitignore — ignores *.preview.{png,mp4,gif,webm} render
  outputs (regenerated locally via the helper script)

CREATOR_PIPELINE.md: documents Living Docs Text Layout section, control
seam (Pmoves-pretext fork tracked alongside @chenglou/pretext), usage
pattern, and the dedicated /render/provenance route.

Cluster 5 of 5 — closes the split-by-cluster commit plan. Working tree
feature work for content-provenance + space-agent + Pretext is now in
canon. Submodule drift reconciliation (Tasks 4-5-7) and rebase (Task 8)
remain.

Co-Authored-By: Codex CLI <codex@cataclysm.studios>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(agnote4482): board entry — Z890-CLAUDE sitrep + drift audit + handoff matrix

Adds CLAIM/REVIEW/RELEASE block to Active Claim Register restoring board
coherence after 19-day quiet period (last entry: CLAUDE-OPUS 2026-04-21).

CLAIM: Sitrep + drift audit on feature/launch-readiness-stage-0
identifying three drift classes — (A) 4 cross-main divergent submodule
pointers incl. Pmoves-cipher + PMOVES-transcribe-and-fetch with origin/main
commits force-pushed away upstream, (B) 20 working-tree submodule advances
unique to neither branch HEAD nor main incl. ClawZ rewind, (C) 28+ files
of uncommitted feature work — coherent SPARK content-provenance pipeline.

REVIEW: Dependency graph mapped against documented agent lanes
(AGNOTE4482_SITREP.md:106-117 + AGNOTE4482PHI.5090-SUBMODULE-AUDIT.md
precedent). Critical path: Z890 commit feature work → 5090 Class B
audit + bake → 5090 Archon+BotZ-gw promote → Z890 rebase. Parallel
lanes: 4090 PR fixes, operator + submodule owners republish for
cipher/transcribe-and-fetch, operator decisions A/C + §1.4 signoff.

RELEASE: Sitrep + 5-cluster commit plan documented in
C:\Users\DARKXSIDE\.claude\plans\lets-get-sitrep-plz-shiny-octopus.md.
Handoffs proposed by lane signature:
  5090-CLAUDE: Tasks 4-5-7 (submodule sync lane)
  4090-CLAUDE: Tasks 2-3 (PR review / Shift Crew lane)
  CODEX-GPT5: Task 9 (§1.4 docs/prospectus signoff)
  OPERATOR: Tasks 6, 10, 11 (upstream republish, SSH fingerprint, JWT sunset)
  Z890-CLAUDE: Task 1 done (this commit set), Task 8 reserved.

Cluster commit pairs (just landed):
  500652d contracts + SPARK working parity
  5153a0b publishers — channel-monitor + ffmpeg-whisper
  2f908a0 consumers + content-provenance-gate + JetStream config
  53abcd4 space-agent NATS bridge
  2eed4a7 a2ui-renderer Pretext + ProvenanceLivingDoc + /render/provenance

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(a2ui-renderer): differentiate render:provenance:still vs :file scripts

Both npm scripts invoked the bare CLI with no arguments, so they always
produced identical .png stills regardless of script name. Pass explicit
input + output args so :still emits PNG and :file emits MP4 — matching
the script's extension-driven branch in render-provenance-artifact.mjs.

Addresses CodeRabbit critical thread on PR #1415, package.json:12.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(ci): disable self-hosted-builds.yml push + PR triggers

Self-hosted runners (ai-lab/5090, kvm4) are not reliably online — the
last 10+ runs of this workflow on push to main have all been cancelled
since 2025-12. Mirroring the precedent set in self-hosted-builds-hardened.yml
(lines 11-14): comment out both auto-triggers, keep workflow_dispatch as
the operator escape hatch.

Re-enable both blocks when:
  - 5090 node has completed submodule sync
  - pmoves-nats-1 is exposed to the host (4222/8222 portproxy fixed)
  - self-hosted runners pass a clean dispatch run

Operators: trigger manually via gh workflow run self-hosted-builds.yml.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: address PR #1415 review findings (C1 H1 H2 H3 H4 M1 M3 M6)

* fix(ci): suit-release-policy.yml YAML — bash continuation breaks block scalar

Lines 45-46 + 54-55 had bash multi-line string continuations starting
at column 1, which dropped them outside the `run: |` block scalar's
10-space indent. Result: YAML parser fails, every run reported as
"workflow file issue" — gate has been broken since inception (7+
consecutive failed runs).

Fix: replace literal newlines in TOUCHED_FILES assignment with bash
ANSI-C quoting (\$'\n'), keeping the assignment on one YAML-safe line:

  TOUCHED_FILES="\$TOUCHED_FILES"\$'\n'"\$MATCHES"

Verified locally with yaml.safe_load → triggers + jobs parse cleanly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(a2ui-renderer): make provenance helper source-backed and override-safe

* fix: address CodeRabbit CRITICAL findings

- Exception handler returns JSONResponse instead of HTTPException
- NATS_URL access made conditional on CONTENT_PROVENANCE_DISABLE_NATS
- Added JSONResponse import

* docs(ops): live fleet inventory + Z890 dual-NIC fix runbook (Phase 1)

Captures live ground-truth from Z890 against TOPOLOGY.md and the
Tailscale fleet snapshot. Z890 verified at 20C/32GB (drift vs doc's
32C/128GB). Live Docker symptoms reproduced: pmoves-supabase-kong-1
NetworkSettings.Ports empty for 8000/8001 while hi-rag 8086 binds OK
on same daemon; edge-functions Deno worker hits Temporary failure in
name resolution. Root cause traced to a same-subnet ghost: the
disconnected secondary adapter (Ethernet 4) holds a stale static
address inside the same /24 as the active primary NIC, confusing
Docker's port forwarder and WSL2 DNS resolver.

Doc includes:
- Per-node verified/blocked card for every Tailscale-online host
- TOPOLOGY.md drift summary (6 deltas)
- Phase 2 PowerShell runbook (Option A re-IP / Option B disable +
  rollback for both); placeholder LAN values per IP-redaction policy
- Stale Tailscale entries cleanup candidates
- Out-of-scope tags for Phases 3-5

Refs #1389 (LAUNCH readiness sweep)
Refs #1410 (Z890 Health Phase 4 - Prometheus scrape predicate)

Phase 2 (operator action) and TOPOLOGY.md reconciliation (PR 2)
ship separately.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(ops): backlink Z890 runbook to cross-platform pattern doc

Adds a single Pattern reference blockquote at the top of FLEET_INVENTORY_LIVE.md
§ "Phase 2 — Z890 Dual-NIC Fix Runbook" pointing readers to:

- pmoves/docs/operations/SAME_SUBNET_GHOST_PATTERN.md (PR #1440)
  Cross-platform pattern reference (Windows / Linux / macOS).
- pmoves/docs/AGENTS/AGNOTE4482PHI.W0-SUBSTRATE.md (PR #1441)
  W0 Substrate lane brief that defines the auto-detector roadmap.

Rationale: a reader landing on the Z890 Phase 2 runbook should know
within the first paragraph that (a) the same bug class affects
non-Windows hosts and the cross-platform diagnosis lives elsewhere,
and (b) the auto-detector is a planned lane, not a stranded artifact.

Atomic 2-line addition. Stages only this file — leaves the 23
submodule pointer modifications in the working tree alone (those
are tracked separately and not part of this concern).

Companion to: PR #1432 (this PR's parent), #1440 (pattern doc), #1441 (W0 brief).
Closes task #9 from the W0 lane plan.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Codex CLI <codex@cataclysm.studios>
Co-authored-by: PMOVES-AGENT-ZERO-SPARK <pmoves-spark@powerfulmoves.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant