Skip to content

Track ide-gsm FDM 7-layer contract landing for hierarchidb #1727

Description

@kubohiroya

Track ide-gsm FDM 7-layer contract landing for hierarchidb

Purpose

Tracking issue for upstream ide-gsm FDM 7-layer contract changes that hierarchidb must consume.

Implementation planning now lives in #1728 and its child issues. This issue remains the upstream landing gate and compatibility/deprecation tracker.

Primary source:

  • kubohiroya/ide-gsm#2653

Related upstream issues:

  • kubohiroya/ide-gsm#2654
  • kubohiroya/ide-gsm#2655
  • kubohiroya/ide-gsm#2656
  • kubohiroya/ide-gsm#2657
  • kubohiroya/ide-gsm#2658
  • kubohiroya/ide-gsm#2660
  • kubohiroya/ide-gsm#2662

Hierarchidb implementation entrypoint

ide-gsm origin/main schema review update

Reviewed against ide-gsm origin/main commit 9e0a5a3a9 (feat(api): expose fdm run metadata schema) and the generated schema snapshot api-idegsm/docs/generated/schema.graphql.

Treat the following as the current stable implementation baseline for hierarchidb planning:

  • fdmSpaces
  • fdmDashboardStatus
  • fdmCellDetail
  • subscribeFdmCellLog
  • subscribeFdmRuntimeEvents
  • fdmRuntimeDiagnostics
  • fdmSpaceCreate
  • fdmSpaceUpdate
  • fdmSpaceDelete
  • fdmDirectoryRemove
  • fdmVerify
  • fdmFill
  • fdmCompare
  • fdmClean
  • fdmDiagnose

Important current limitations:

  • fdmDashboardStatus uses timeline, but fdmCellDetail, subscribeFdmCellLog, DashboardCell, and CellStageIdentity still use checkpoint.
  • ActiveProjectTask, Task, VerifyReport, and TaskInputInput now expose runId, jobId, workflowId, and executionKind, so hierarchidb should consume these as additive run metadata.
  • fdmSweep is not in the current GraphQL schema. Keep it upstream-gated and do not invent the method name client-side.
  • ideGsmServerInfo.capabilities exists, but the advertised capability list currently contains project/task capabilities only. Missing FDM capability must mean optional FDM actions are disabled/unavailable, not that the dashboard APIs are absent.

Upstream gate matrix

ide-gsm change Upstream issue hierarchidb consumer hierarchidb issue Current action
Dashboard/status axis checkpoint -> timeline; checkpoint remains in cell/detail/log identity kubohiroya/ide-gsm#2660 fdmDashboardStatus, fdmCellDetail, axis labels, validators #1729, #1737, #1738 Implement additive normalizer; preserve operation-specific input names because status currently uses timeline while detail/log/cell identity still use checkpoint.
GraphQL/MCP fdmSweep additive alias; fdmVerify compatibility alias kubohiroya/ide-gsm#2658 ide-gsm client execution methods and dashboard actions #1730, #1737, #1738 fdmVerify is current baseline; keep fdmSweep gated until it appears in generated schema.
L3 run/job/task separation, runner local/ssh/batch, live progress evidence kubohiroya/ide-gsm#2656 execution handle, status/log/cancel/progress projection #1730, #1737 Consume existing runId/jobId/workflowId/executionKind metadata now; keep taskId subscription/cancel/log as the compatibility stream until dedicated run/job APIs exist.
L4 workflow status and nextAction vocabulary kubohiroya/ide-gsm#2654, #2662 dashboard workflow projection #1731, #1737 Support confirmed enum values; unknown values render unsupported/contract error.
L5 ruleset governance and accepted known issue handling kubohiroya/ide-gsm#2655 dashboard ruleset projection #1731, #1737 Display server governance metadata; do not mutate/accept/waive locally.
L6 baselineSpace provenance and space catalog kubohiroya/ide-gsm#2657 FDM space read model and dashboard origin metadata #1732 Scaffold read-only DTOs; live wiring waits for confirmed server fields.
Existing GraphQL fdmSpaceCreate / fdmSpaceUpdate / fdmSpaceDelete existing generated schema, #2657 for final semantics ide-gsm client space lifecycle methods #1735 Audit existing operations now; do not treat them as complete reference-aware L6 lifecycle until #2657 confirms semantics.
L6 lifecycle update/archive/delete kubohiroya/ide-gsm#2657 server-authorized lifecycle actions #1735 Blocked for final lifecycle until operation names, capability keys, authorization, reference-aware denial, and dry-run/apply schemas are fixed.
L6 fork/cross-space view kubohiroya/ide-gsm#2657 fork provenance and read-only cross-space views #1736 Blocked until fork/view schema and origin requirements are fixed.
Live dashboard GraphQL adapter current origin/main schema plus #2660/#2656/#2657 gated fields FdmDashboardPort implementation over IdeGsmClient #1737 Add typed adapter and GraphQL documents from the generated schema snapshot; do not let React components bypass FdmDashboardPort.
React dashboard architecture current mocked FdmDashboardPort plus live #1737 adapter FDM dashboard and FDM space selection UI #1738 Use MUI, custom hooks, Jotai, TanStack Query, and jotai-tanstack-query; start with mock port and connect live data through #1737.

Contract gate

All upstream-facing GraphQL/API changes must pass the contract-audit classification before hierarchidb consumes them:

  • existing
  • additive
  • deprecated compatibility
  • removal/migration
  • blocked by upstream

Do not implement by guessing upstream API names, GraphQL fields, capability keys, or enum values.

Use ideGsmServerInfo.capabilities / apiContractVersion where available to gate optional FDM behavior.

Done for this tracker

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:yamlYAML plugin and storage areatype:featureNew capability or behavior

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions