spine-framework 0.4.3 → 0.5.0-rc.4
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.
- package/.env.example +13 -3
- package/.framework/cli/commands/bootstrap.ts +392 -0
- package/.framework/cli/commands/dev.ts +91 -218
- package/.framework/cli/commands/doctor.ts +132 -26
- package/.framework/cli/commands/generate.ts +38 -298
- package/.framework/cli/commands/init.ts +20 -1
- package/.framework/cli/commands/migrate.ts +36 -30
- package/.framework/cli/commands/migrations.ts +16 -56
- package/.framework/cli/commands/upgrade.ts +35 -0
- package/.framework/cli/commands/validate-schema.ts +147 -0
- package/.framework/cli/context.ts +223 -110
- package/.framework/cli/index.ts +6 -0
- package/.framework/cli/lib/project-files.ts +241 -1
- package/.framework/functions/_shared/agent-runner.ts +1000 -81
- package/.framework/functions/_shared/cil.ts +2 -1
- package/.framework/functions/_shared/db.ts +3 -6
- package/.framework/functions/_shared/hash-api-key.ts +183 -79
- package/.framework/functions/_shared/kb.ts +61 -7
- package/.framework/functions/_shared/logging.ts +562 -224
- package/.framework/functions/_shared/message-sequence.ts +53 -0
- package/.framework/functions/_shared/middleware.ts +47 -44
- package/.framework/functions/_shared/pipeline-runner.ts +150 -37
- package/.framework/functions/_shared/principal.ts +9 -6
- package/.framework/functions/_shared/trigger-engine.ts +149 -40
- package/.framework/functions/admin-data.ts +48 -31
- package/.framework/functions/ai-agents.ts +103 -33
- package/.framework/functions/api-keys.ts +301 -122
- package/.framework/functions/apps.ts +43 -26
- package/.framework/functions/cil-ingest.ts +48 -15
- package/.framework/functions/debug-auth.ts +14 -8
- package/.framework/functions/deliveries.ts +39 -12
- package/.framework/functions/embeddings.ts +145 -76
- package/.framework/functions/integration-outbound.ts +67 -27
- package/.framework/functions/integrations.ts +254 -127
- package/.framework/functions/logs.ts +273 -133
- package/.framework/functions/observability.ts +277 -147
- package/.framework/functions/pipeline-executions.ts +1 -1
- package/.framework/functions/pipeline-runner-background.ts +120 -0
- package/.framework/functions/pipelines.ts +14 -9
- package/.framework/functions/prompt-configs.ts +7 -4
- package/.framework/functions/roles.ts +8 -5
- package/.framework/functions/security.ts +30 -17
- package/.framework/functions/system-cron.ts +250 -128
- package/.framework/functions/tests.ts +7 -6
- package/.framework/functions/timers.ts +310 -107
- package/.framework/functions/trigger-scheduler.ts +65 -5
- package/.framework/functions/triggers.ts +28 -13
- package/.framework/functions/types.ts +13 -10
- package/.framework/migrations/064_episode_leases.sql +196 -0
- package/.framework/migrations/065_execution_tables_updated_at.sql +20 -0
- package/.framework/migrations/066_episode_steal_thread_merge.sql +148 -0
- package/.framework/migrations/067_episode_lease_stale_steal.sql +93 -0
- package/.framework/migrations/068_cron_schedule_timer_rpcs.sql +251 -0
- package/.framework/migrations/069_log_stats_window.sql +54 -0
- package/.framework/migrations/070_app_type_schema_rpcs.sql +166 -0
- package/.framework/migrations/071_timer_interval_keys.sql +96 -0
- package/.framework/migrations/072_slug_autofill.sql +77 -0
- package/.framework/migrations/073_seed_member_roles.sql +26 -0
- package/.framework/schemas/spine.config.schema.json +62 -0
- package/.framework/src/App.tsx +3 -1
- package/.framework/src/apps/admin/index.tsx +1141 -775
- package/.framework/src/components/ErrorBoundary.tsx +136 -0
- package/.framework/src/components/admin/AdminListPage.tsx +81 -73
- package/.framework/src/components/admin/AdminSidebar.tsx +92 -81
- package/.framework/src/components/admin/EntitySelect.tsx +181 -0
- package/.framework/src/components/admin/PageInstructions.tsx +86 -127
- package/.framework/src/components/app-shell/GenericAppShell.tsx +3 -1
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +37 -13
- package/.framework/src/components/app-shell/GenericListPage.tsx +28 -32
- package/.framework/src/components/auth/TurnstileWidget.tsx +9 -6
- package/.framework/src/components/kb/KBArticleEditor.tsx +49 -6
- package/.framework/src/components/layout/Layout.tsx +4 -2
- package/.framework/src/components/layout/Sidebar.tsx +304 -179
- package/.framework/src/components/runtime/DataDetailPage.tsx +67 -35
- package/.framework/src/components/runtime/DataHeader.tsx +96 -48
- package/.framework/src/components/runtime/DataListPage.tsx +3 -26
- package/.framework/src/components/runtime/DataStats.tsx +10 -10
- package/.framework/src/components/runtime/DataTable.tsx +12 -10
- package/.framework/src/components/ui/sheet.tsx +24 -26
- package/.framework/src/components/ui/textarea.tsx +74 -48
- package/.framework/src/hooks/useBranding.ts +47 -0
- package/.framework/src/hooks/useEntityList.ts +12 -9
- package/.framework/src/hooks/useListSchema.ts +108 -58
- package/.framework/src/instructions/README.md +57 -0
- package/.framework/src/instructions/ai-agents.md +69 -0
- package/.framework/src/instructions/alerts.md +80 -0
- package/.framework/src/instructions/api-keys.md +87 -0
- package/.framework/src/instructions/apps.md +77 -0
- package/.framework/src/instructions/concepts/ai-and-prompts.md +150 -0
- package/.framework/src/instructions/concepts/apps-and-renderers.md +162 -0
- package/.framework/src/instructions/concepts/auth-and-api-keys.md +133 -0
- package/.framework/src/instructions/concepts/automation.md +186 -0
- package/.framework/src/instructions/concepts/concurrency-and-idempotency.md +125 -0
- package/.framework/src/instructions/concepts/core-vs-custom.md +124 -0
- package/.framework/src/instructions/concepts/design-schema.md +152 -0
- package/.framework/src/instructions/concepts/integrations-and-webhooks.md +127 -0
- package/.framework/src/instructions/concepts/observability.md +116 -0
- package/.framework/src/instructions/concepts/permissions.md +150 -0
- package/.framework/src/instructions/concepts/runtime-records.md +111 -0
- package/.framework/src/instructions/concepts/scope-and-accounts.md +112 -0
- package/.framework/src/instructions/concepts/spine-way.md +172 -0
- package/.framework/src/instructions/deliveries.md +59 -0
- package/.framework/src/instructions/guide/00-orientation.md +106 -0
- package/.framework/src/instructions/guide/01-install-and-first-run.md +253 -0
- package/.framework/src/instructions/guide/02-project-map.md +147 -0
- package/.framework/src/instructions/guide/03-domain-model.md +223 -0
- package/.framework/src/instructions/guide/04-first-app.md +227 -0
- package/.framework/src/instructions/guide/05-glossary.md +183 -0
- package/.framework/src/instructions/integrations.md +96 -0
- package/.framework/src/instructions/internal/cil-markers.md +83 -0
- package/.framework/src/instructions/invites.md +60 -0
- package/.framework/src/instructions/kb.md +80 -0
- package/.framework/src/instructions/logs.md +77 -0
- package/.framework/src/instructions/observability.md +61 -0
- package/.framework/src/instructions/operations/deployment.md +115 -0
- package/.framework/src/instructions/operations/migrations.md +125 -0
- package/.framework/src/instructions/operations/security-checklist.md +148 -0
- package/.framework/src/instructions/operations/troubleshooting.md +170 -0
- package/.framework/src/instructions/operations/upgrade.md +116 -0
- package/.framework/src/instructions/pipeline-executions.md +62 -0
- package/.framework/src/instructions/pipelines.md +78 -0
- package/.framework/src/instructions/prompts.md +95 -0
- package/.framework/src/instructions/reference/api/admin-data.md +162 -0
- package/.framework/src/instructions/reference/api/auth.md +113 -0
- package/.framework/src/instructions/reference/api/errors-and-envelopes.md +113 -0
- package/.framework/src/instructions/reference/app-manifest.md +150 -0
- package/.framework/src/instructions/reference/cli.md +124 -0
- package/.framework/src/instructions/reference/database.md +132 -0
- package/.framework/src/instructions/reference/design-schema.md +280 -0
- package/.framework/src/instructions/reference/env-vars.md +133 -0
- package/.framework/src/instructions/reference/functions/account-nodes.md +75 -0
- package/.framework/src/instructions/reference/functions/admin-data.md +195 -0
- package/.framework/src/instructions/reference/functions/admin-funnel.md +90 -0
- package/.framework/src/instructions/reference/functions/admin-install-funnel.md +107 -0
- package/.framework/src/instructions/reference/functions/admin-signals.md +102 -0
- package/.framework/src/instructions/reference/functions/ai-agents.md +148 -0
- package/.framework/src/instructions/reference/functions/ai-interactions.md +156 -0
- package/.framework/src/instructions/reference/functions/api-keys.md +130 -0
- package/.framework/src/instructions/reference/functions/apps.md +140 -0
- package/.framework/src/instructions/reference/functions/auth.md +99 -0
- package/.framework/src/instructions/reference/functions/debug-auth.md +91 -0
- package/.framework/src/instructions/reference/functions/deliveries.md +110 -0
- package/.framework/src/instructions/reference/functions/embeddings.md +166 -0
- package/.framework/src/instructions/reference/functions/eval-harness.md +149 -0
- package/.framework/src/instructions/reference/functions/index.md +103 -0
- package/.framework/src/instructions/reference/functions/integration-outbound.md +200 -0
- package/.framework/src/instructions/reference/functions/integration-routes.md +151 -0
- package/.framework/src/instructions/reference/functions/integrations.md +130 -0
- package/.framework/src/instructions/reference/functions/invites.md +182 -0
- package/.framework/src/instructions/reference/functions/item-progress.md +107 -0
- package/.framework/src/instructions/reference/functions/kb.md +166 -0
- package/.framework/src/instructions/reference/functions/logs.md +141 -0
- package/.framework/src/instructions/reference/functions/observability.md +105 -0
- package/.framework/src/instructions/reference/functions/pipeline-executions.md +132 -0
- package/.framework/src/instructions/reference/functions/pipeline-runner-background.md +121 -0
- package/.framework/src/instructions/reference/functions/pipelines.md +136 -0
- package/.framework/src/instructions/reference/functions/prompt-configs.md +121 -0
- package/.framework/src/instructions/reference/functions/roles.md +121 -0
- package/.framework/src/instructions/reference/functions/security.md +140 -0
- package/.framework/src/instructions/reference/functions/system-cron.md +136 -0
- package/.framework/src/instructions/reference/functions/system.md +106 -0
- package/.framework/src/instructions/reference/functions/tests.md +97 -0
- package/.framework/src/instructions/reference/functions/timers.md +117 -0
- package/.framework/src/instructions/reference/functions/trigger-scheduler.md +102 -0
- package/.framework/src/instructions/reference/functions/triggers.md +140 -0
- package/.framework/src/instructions/reference/functions/types.md +146 -0
- package/.framework/src/instructions/reference/seeds.md +126 -0
- package/.framework/src/instructions/reference/shared-modules.md +127 -0
- package/.framework/src/instructions/reference/spine-config.md +114 -0
- package/.framework/src/instructions/roles.md +80 -0
- package/.framework/src/instructions/runtime-detail.md +70 -0
- package/.framework/src/instructions/runtime-list.md +77 -0
- package/.framework/src/instructions/security.md +67 -0
- package/.framework/src/instructions/tasks/add-a-pipeline.md +110 -0
- package/.framework/src/instructions/tasks/add-a-role.md +96 -0
- package/.framework/src/instructions/tasks/add-a-timer.md +114 -0
- package/.framework/src/instructions/tasks/add-a-trigger.md +106 -0
- package/.framework/src/instructions/tasks/add-a-type.md +151 -0
- package/.framework/src/instructions/tasks/add-a-webhook.md +108 -0
- package/.framework/src/instructions/tasks/add-an-ai-agent.md +108 -0
- package/.framework/src/instructions/tasks/add-an-integration.md +124 -0
- package/.framework/src/instructions/tasks/build-a-custom-page.md +118 -0
- package/.framework/src/instructions/tasks/package-and-install-an-app.md +127 -0
- package/.framework/src/instructions/tasks/test-your-code.md +108 -0
- package/.framework/src/instructions/tasks/write-a-function.md +132 -0
- package/.framework/src/instructions/tasks/write-a-migration.md +110 -0
- package/.framework/src/instructions/testing.md +59 -0
- package/.framework/src/instructions/timers.md +82 -0
- package/.framework/src/instructions/triggers.md +69 -0
- package/.framework/src/instructions/types.md +93 -0
- package/.framework/src/lib/branding.ts +128 -0
- package/.framework/src/pages/NoAppPage.tsx +3 -1
- package/.framework/src/pages/NotFoundPage.tsx +62 -31
- package/.framework/src/pages/SetupPage.tsx +5 -2
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +117 -106
- package/.framework/src/pages/admin/AIAgentsPage.tsx +86 -48
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +153 -152
- package/.framework/src/pages/admin/APIKeysPage.tsx +91 -90
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +29 -18
- package/.framework/src/pages/admin/AppDetailPage.tsx +6 -60
- package/.framework/src/pages/admin/AppsPage.tsx +104 -66
- package/.framework/src/pages/admin/DeliveriesPage.tsx +5 -5
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +5 -23
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +5 -26
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +7 -7
- package/.framework/src/pages/admin/IntegrationsPage.tsx +85 -43
- package/.framework/src/pages/admin/LogsPage.tsx +144 -76
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +223 -140
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +134 -113
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +108 -45
- package/.framework/src/pages/admin/PipelinesPage.tsx +160 -115
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +96 -98
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +101 -59
- package/.framework/src/pages/admin/RoleDetailPage.tsx +90 -79
- package/.framework/src/pages/admin/RolesPage.tsx +86 -43
- package/.framework/src/pages/admin/SecurityPage.tsx +1 -1
- package/.framework/src/pages/admin/TestingDashboard.tsx +16 -28
- package/.framework/src/pages/admin/TimerDetailPage.tsx +117 -100
- package/.framework/src/pages/admin/TimersPage.tsx +90 -62
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +90 -83
- package/.framework/src/pages/admin/TriggersPage.tsx +124 -99
- package/.framework/src/pages/admin/TypeDetailPage.tsx +152 -138
- package/.framework/src/pages/admin/TypesPage.tsx +90 -48
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +17 -25
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +17 -27
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +72 -40
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +321 -129
- package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +18 -29
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +26 -38
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +34 -46
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +189 -103
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +246 -136
- package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +11 -22
- package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +9 -20
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +26 -38
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +7 -26
- package/.framework/src/pages/auth/AuthConfirmPage.tsx +3 -1
- package/.framework/src/pages/auth/ForgotPasswordPage.tsx +3 -1
- package/.framework/src/pages/auth/LoginPage.tsx +4 -2
- package/.framework/src/pages/auth/RegisterPage.tsx +3 -1
- package/.framework/templates/agent/AGENTS.md +150 -0
- package/.framework/templates/agent/skills/spine-add-ai-agent/SKILL.md +58 -0
- package/.framework/templates/agent/skills/spine-add-automation/SKILL.md +62 -0
- package/.framework/templates/agent/skills/spine-add-integration/SKILL.md +63 -0
- package/.framework/templates/agent/skills/spine-architect/SKILL.md +86 -0
- package/.framework/templates/agent/skills/spine-install-app/SKILL.md +72 -0
- package/.framework/templates/agent/skills/spine-migration/SKILL.md +75 -0
- package/.framework/templates/agent/skills/spine-new-app/SKILL.md +67 -0
- package/.framework/templates/agent/skills/spine-new-function/SKILL.md +65 -0
- package/.framework/templates/agent/skills/spine-new-type/SKILL.md +65 -0
- package/.framework/templates/agent/skills/spine-schema/SKILL.md +77 -0
- package/.framework/templates/agent/skills/spine-test/SKILL.md +67 -0
- package/.framework/templates/agent/skills/spine-troubleshoot/SKILL.md +74 -0
- package/.framework/templates/agent/skills/spine-upgrade/SKILL.md +69 -0
- package/.framework/templates/project.json +5 -1
- package/.framework/tests/unit/account-scoping-gates.test.ts +392 -0
- package/.framework/tests/unit/agent-files.test.ts +355 -0
- package/.framework/tests/unit/agent-runner.test.ts +496 -47
- package/.framework/tests/unit/api-keys-create-scope-gate.test.ts +160 -0
- package/.framework/tests/unit/api-keys-omit-secret-fields.test.ts +38 -0
- package/.framework/tests/unit/bootstrap.test.ts +242 -0
- package/.framework/tests/unit/cli-context-api-key.test.ts +114 -0
- package/.framework/tests/unit/debug-auth.test.ts +38 -0
- package/.framework/tests/unit/deliveries-account-scoping.test.ts +185 -0
- package/.framework/tests/unit/episode-lease.test.ts +695 -0
- package/.framework/tests/unit/integration-outbound-credentials.test.ts +167 -0
- package/.framework/tests/unit/integrations-audit-redaction.test.ts +130 -0
- package/.framework/tests/unit/kb-ingest-lease.test.ts +19 -0
- package/.framework/tests/unit/logging-app-id.test.ts +75 -0
- package/.framework/tests/unit/pipeline-runner-background.test.ts +120 -0
- package/.framework/tests/unit/pipeline-runner.test.ts +153 -1
- package/.framework/tests/unit/principal-cache.test.ts +15 -0
- package/.framework/tests/unit/system-context-denial.test.ts +145 -0
- package/.framework/tests/unit/system-cron.test.ts +240 -0
- package/.framework/tests/unit/timers.test.ts +159 -0
- package/.framework/tests/unit/trigger-engine.test.ts +278 -91
- package/.framework/tests/unit/trigger-scheduler.test.ts +78 -0
- package/README.md +125 -166
- package/config/tsconfig.cli.json +2 -2
- package/netlify.toml +5 -0
- package/package.json +15 -4
- package/templates/project/package-lock.json +2 -2
- package/.framework/docs/admin-routes.md +0 -76
- package/.framework/docs/api-docs-progress.md +0 -38
- package/.framework/docs/api-governance.md +0 -146
- package/.framework/docs/api-testing-results.md +0 -212
- package/.framework/docs/assembly-launch-guide.md +0 -138
- package/.framework/docs/audit-results.md +0 -590
- package/.framework/docs/db-api-inventory.md +0 -95
- package/.framework/docs/gap-remediation-backlog.md +0 -103
- package/.framework/docs/ui-adoption-verification.md +0 -111
- package/.framework/docs/ui-api-coverage.md +0 -84
- package/.framework/docs/v2-compatibility-audit.md +0 -228
- package/.framework/mcp/index.ts +0 -133
- package/.framework/mcp/load-env.ts +0 -60
- package/.framework/mcp/shared/app-manifest.ts +0 -275
- package/.framework/mcp/shared/db.ts +0 -477
- package/.framework/mcp/shared/kb.ts +0 -118
- package/.framework/mcp/tools/architect.ts +0 -431
- package/.framework/mcp/tools/cil/context.ts +0 -345
- package/.framework/mcp/tools/cil/graph.ts +0 -242
- package/.framework/mcp/tools/cil/ingest.ts +0 -1217
- package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +0 -693
- package/.framework/mcp/tools/cil/pipeline.ts +0 -767
- package/.framework/mcp/tools/cil/project.ts +0 -791
- package/.framework/mcp/tools/cil/retrieval.ts +0 -336
- package/.framework/mcp/tools/cil/search-core.ts +0 -454
- package/.framework/mcp/tools/cil/search.ts +0 -97
- package/.framework/mcp/tools/cil/suggest.ts +0 -186
- package/.framework/mcp/tools/cil/validate.ts +0 -1369
- package/.framework/mcp/tools/kb/delete.ts +0 -139
- package/.framework/mcp/tools/kb/index.ts +0 -52
- package/.framework/mcp/tools/kb/ingest.ts +0 -84
- package/.framework/mcp/tools/kb/list-types.ts +0 -102
- package/.framework/mcp/tools/kb/publish.ts +0 -100
- package/.framework/mcp/tools/kb/reindex.ts +0 -86
- package/.framework/mcp/tools/kb/revoke.ts +0 -85
- package/.framework/mcp/tools/kb/search.ts +0 -101
- package/.framework/mcp/tools/kb/upsert.ts +0 -125
- package/.framework/mcp/tools/observability.ts +0 -510
|
@@ -18,6 +18,7 @@ import { Skeleton } from '@core/components/ui/skeleton'
|
|
|
18
18
|
import { Textarea } from '@core/components/ui/textarea'
|
|
19
19
|
import { Label } from '@core/components/ui/label'
|
|
20
20
|
import {
|
|
21
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:module_header:module_header"]
|
|
21
22
|
Select,
|
|
22
23
|
SelectContent,
|
|
23
24
|
SelectItem,
|
|
@@ -46,16 +47,13 @@ import {
|
|
|
46
47
|
|
|
47
48
|
|
|
48
49
|
|
|
49
|
-
import { PageInstructions } from '../../../components/admin/PageInstructions'
|
|
50
50
|
// CIL[DOC-VECTOR type="context" content="purpose='Imports and page scaffolding for the CIL chunk detail admin page'; No verified external callers; imports: .framework/src/lib/api.ts,.framework/src/components/ui/card.tsx,.framework/src/components/ui/button.tsx"]
|
|
51
51
|
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
52
52
|
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
53
53
|
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
54
54
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
55
55
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
56
|
-
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:module_header:module_header"]
|
|
57
56
|
|
|
58
|
-
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ChunkContract:interface" type="interface" identity="ChunkContract" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
59
57
|
// CIL[DOC-MACRO purpose="Defines the data contract for a CIL chunk record"]
|
|
60
58
|
// CIL[DOC-RESPONSIBILITY responsibility="Provide a TypeScript shape for chunk contract fields"]
|
|
61
59
|
// CIL[DOC-CONTEXT module="CIL admin UI" layer="domain" related_files=".framework/src/components/admin/PageInstructions.tsx,.framework/src/components/ui/badge.tsx,.framework/src/components/ui/button.tsx,.framework/src/components/ui/card.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/select.tsx,.framework/src/components/ui/skeleton.tsx,.framework/src/components/ui/tabs.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/api.ts,.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
@@ -63,6 +61,7 @@ import { PageInstructions } from '../../../components/admin/PageInstructions'
|
|
|
63
61
|
// CIL[DOC-MICRO logic_summary="Maps all chunk contract fields including identifiers, doc status, tests, call lists, and hashes" notable_decisions="[]"]
|
|
64
62
|
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
65
63
|
// CIL[DOC-STABILITY stability="stable"]
|
|
64
|
+
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ChunkContract:interface" type="interface" identity="ChunkContract" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
66
65
|
interface ChunkContract {
|
|
67
66
|
id: string
|
|
68
67
|
chunk_name: string
|
|
@@ -88,16 +87,15 @@ interface ChunkContract {
|
|
|
88
87
|
callers: { chunk_id: string; chunk_name: string; file_path: string }[]
|
|
89
88
|
callees: { chunk_id: string; chunk_name: string; file_path: string }[]
|
|
90
89
|
}
|
|
90
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ChunkContract:interface"]
|
|
91
91
|
// CIL[DOC-VECTOR type="context" content="purpose='Defines the data contract for a CIL chunk record'; No verified external callers; imports: .framework/src/lib/api.ts,.framework/src/components/ui/card.tsx,.framework/src/components/ui/button.tsx"]
|
|
92
92
|
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
93
93
|
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
94
94
|
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
95
95
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
96
96
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
97
|
-
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ChunkContract:interface"]
|
|
98
97
|
|
|
99
98
|
|
|
100
|
-
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:EmbeddingStatus:interface" type="interface" identity="EmbeddingStatus" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
101
99
|
// CIL[DOC-MACRO purpose="Tracks vector embedding coverage for a project"]
|
|
102
100
|
// CIL[DOC-RESPONSIBILITY responsibility="Declare the shape of embedding coverage metrics"]
|
|
103
101
|
// CIL[DOC-CONTEXT module="CIL admin UI" layer="domain" related_files=".framework/src/components/admin/PageInstructions.tsx,.framework/src/components/ui/badge.tsx,.framework/src/components/ui/button.tsx,.framework/src/components/ui/card.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/select.tsx,.framework/src/components/ui/skeleton.tsx,.framework/src/components/ui/tabs.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/api.ts,.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
@@ -105,24 +103,24 @@ interface ChunkContract {
|
|
|
105
103
|
// CIL[DOC-MICRO logic_summary="Defines coverage_pct, embedded_chunks, and total_chunks fields" notable_decisions="[]"]
|
|
106
104
|
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
107
105
|
// CIL[DOC-STABILITY stability="stable"]
|
|
106
|
+
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:EmbeddingStatus:interface" type="interface" identity="EmbeddingStatus" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
108
107
|
interface EmbeddingStatus {
|
|
109
108
|
coverage_pct: number
|
|
110
109
|
embedded_chunks: number
|
|
111
110
|
total_chunks: number
|
|
112
111
|
}
|
|
112
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:EmbeddingStatus:interface"]
|
|
113
113
|
// CIL[DOC-VECTOR type="context" content="purpose='Tracks vector embedding coverage for a project'; No verified external callers; imports: .framework/src/lib/api.ts,.framework/src/components/ui/card.tsx,.framework/src/components/ui/button.tsx"]
|
|
114
114
|
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
115
115
|
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
116
116
|
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
117
117
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
118
118
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
119
|
-
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:EmbeddingStatus:interface"]
|
|
120
119
|
|
|
121
120
|
|
|
122
121
|
|
|
123
122
|
|
|
124
123
|
|
|
125
|
-
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:doc_and_stability:constant" type="constant" identity="doc_and_stability" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
126
124
|
// CIL[DOC-MACRO purpose="Provides badge configuration for documentation confidence and stability labels"]
|
|
127
125
|
// CIL[DOC-RESPONSIBILITY responsibility="Map doc_confidence and stability enum values to UI labels, colors, and badge variants"]
|
|
128
126
|
// CIL[DOC-CONTEXT module="CIL admin UI" layer="presentation" related_files=".framework/src/components/admin/PageInstructions.tsx,.framework/src/components/ui/badge.tsx,.framework/src/components/ui/button.tsx,.framework/src/components/ui/card.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/select.tsx,.framework/src/components/ui/skeleton.tsx,.framework/src/components/ui/tabs.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/api.ts,.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
@@ -130,21 +128,25 @@ interface EmbeddingStatus {
|
|
|
130
128
|
// CIL[DOC-MICRO logic_summary="Defines DOC_CONFIDENCE_CONFIG with label, color, and icon; STABILITY_BADGE maps stability to Badge variant strings" notable_decisions="[]"]
|
|
131
129
|
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
132
130
|
// CIL[DOC-STABILITY stability="stable"]
|
|
131
|
+
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:DOC_CONFIDENCE_CONFIG:constant" type="constant" identity="DOC_CONFIDENCE_CONFIG" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
133
132
|
const DOC_CONFIDENCE_CONFIG: Record<string, { label: string; color: string; icon: React.ElementType }> = {
|
|
134
133
|
human_verified: { label: 'Human Verified', color: 'text-green-600', icon: CheckCircle2 },
|
|
135
134
|
ai_generated: { label: 'AI Generated', color: 'text-blue-600', icon: Zap },
|
|
136
135
|
unverified_legacy: { label: 'Unverified', color: 'text-amber-600', icon: AlertTriangle },
|
|
137
136
|
}
|
|
137
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:DOC_CONFIDENCE_CONFIG:constant"]
|
|
138
138
|
|
|
139
139
|
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
|
|
143
|
+
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:STABILITY_BADGE:constant" type="constant" identity="STABILITY_BADGE" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
143
144
|
const STABILITY_BADGE: Record<string, 'default' | 'secondary' | 'outline'> = {
|
|
144
145
|
stable: 'default',
|
|
145
146
|
internal: 'secondary',
|
|
146
147
|
experimental: 'outline',
|
|
147
148
|
}
|
|
149
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:STABILITY_BADGE:constant"]
|
|
148
150
|
|
|
149
151
|
|
|
150
152
|
|
|
@@ -155,8 +157,6 @@ const STABILITY_BADGE: Record<string, 'default' | 'secondary' | 'outline'> = {
|
|
|
155
157
|
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
156
158
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
157
159
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
158
|
-
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:doc_and_stability:constant"]
|
|
159
|
-
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:HashStatusBadge:component" type="component" identity="HashStatusBadge" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
160
160
|
// CIL[DOC-MACRO purpose="Render a Badge indicating the current hash status of a CIL chunk"]
|
|
161
161
|
// CIL[DOC-RESPONSIBILITY responsibility="Display current, drift_detected, or unknown hash status with an icon"]
|
|
162
162
|
// CIL[DOC-CONTEXT module="CIL admin UI" layer="presentation" related_files=".framework/src/components/admin/PageInstructions.tsx,.framework/src/components/ui/badge.tsx,.framework/src/components/ui/button.tsx,.framework/src/components/ui/card.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/select.tsx,.framework/src/components/ui/skeleton.tsx,.framework/src/components/ui/tabs.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/api.ts,.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
@@ -164,6 +164,7 @@ const STABILITY_BADGE: Record<string, 'default' | 'secondary' | 'outline'> = {
|
|
|
164
164
|
// CIL[DOC-MICRO logic_summary="Branches on status string and returns a Badge variant with matching icon and label" notable_decisions="[]"]
|
|
165
165
|
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
166
166
|
// CIL[DOC-STABILITY stability="stable"]
|
|
167
|
+
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:HashStatusBadge:component" type="component" identity="HashStatusBadge" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
167
168
|
function HashStatusBadge({ status }: { status: string }) {
|
|
168
169
|
if (status === 'current') return (
|
|
169
170
|
<Badge variant="default" className="bg-green-600 text-white gap-1">
|
|
@@ -181,17 +182,16 @@ function HashStatusBadge({ status }: { status: string }) {
|
|
|
181
182
|
</Badge>
|
|
182
183
|
)
|
|
183
184
|
}
|
|
185
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:HashStatusBadge:component"]
|
|
184
186
|
// CIL[DOC-VECTOR type="context" content="purpose='Render a Badge indicating the current hash status of a CIL chunk'; No verified external callers; imports: .framework/src/lib/api.ts,.framework/src/components/ui/card.tsx,.framework/src/components/ui/button.tsx"]
|
|
185
187
|
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
186
188
|
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
187
189
|
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
188
190
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
189
191
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
190
|
-
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:HashStatusBadge:component"]
|
|
191
192
|
|
|
192
193
|
|
|
193
194
|
|
|
194
|
-
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ChunkLinkCard:component" type="component" identity="ChunkLinkCard" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
195
195
|
// CIL[DOC-MACRO purpose="Render a clickable card linking to another CIL chunk"]
|
|
196
196
|
// CIL[DOC-RESPONSIBILITY responsibility="Format chunk reference as a compact link card"]
|
|
197
197
|
// CIL[DOC-CONTEXT module="CIL admin UI" layer="presentation" related_files=".framework/src/components/admin/PageInstructions.tsx,.framework/src/components/ui/badge.tsx,.framework/src/components/ui/button.tsx,.framework/src/components/ui/card.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/select.tsx,.framework/src/components/ui/skeleton.tsx,.framework/src/components/ui/tabs.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/api.ts,.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
@@ -199,6 +199,7 @@ function HashStatusBadge({ status }: { status: string }) {
|
|
|
199
199
|
// CIL[DOC-MICRO logic_summary="Builds admin path, renders file icon, name, path, and hover arrow" notable_decisions="[]"]
|
|
200
200
|
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
201
201
|
// CIL[DOC-STABILITY stability="stable"]
|
|
202
|
+
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ChunkLinkCard:component" type="component" identity="ChunkLinkCard" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
202
203
|
function ChunkLinkCard({
|
|
203
204
|
chunk,
|
|
204
205
|
label,
|
|
@@ -224,6 +225,7 @@ function ChunkLinkCard({
|
|
|
224
225
|
</a>
|
|
225
226
|
)
|
|
226
227
|
}
|
|
228
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ChunkLinkCard:component"]
|
|
227
229
|
|
|
228
230
|
|
|
229
231
|
|
|
@@ -233,8 +235,6 @@ function ChunkLinkCard({
|
|
|
233
235
|
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
234
236
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
235
237
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
236
|
-
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ChunkLinkCard:component"]
|
|
237
|
-
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ContractEditor:component" type="component" identity="ContractEditor" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
238
238
|
// CIL[DOC-MACRO purpose="Edit and persist a CIL chunk contract"]
|
|
239
239
|
// CIL[DOC-RESPONSIBILITY responsibility="Provide a controlled form for macro, micro, I/O, side effects, stability, tests, and confidence"]
|
|
240
240
|
// CIL[DOC-CONTEXT module="CIL admin UI" layer="presentation" related_files=".framework/src/components/admin/PageInstructions.tsx,.framework/src/components/ui/badge.tsx,.framework/src/components/ui/button.tsx,.framework/src/components/ui/card.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/select.tsx,.framework/src/components/ui/skeleton.tsx,.framework/src/components/ui/tabs.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/api.ts,.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
@@ -242,6 +242,7 @@ function ChunkLinkCard({
|
|
|
242
242
|
// CIL[DOC-MICRO logic_summary="Maintains local form state, renders labeled Textareas and Selects, submits a PATCH when user clicks Save" notable_decisions="[]"]
|
|
243
243
|
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
244
244
|
// CIL[DOC-STABILITY stability="stable"]
|
|
245
|
+
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ContractEditor:component" type="component" identity="ContractEditor" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
245
246
|
function ContractEditor({
|
|
246
247
|
contract,
|
|
247
248
|
projectId,
|
|
@@ -359,6 +360,7 @@ function ContractEditor({
|
|
|
359
360
|
</div>
|
|
360
361
|
)
|
|
361
362
|
}
|
|
363
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ContractEditor:component"]
|
|
362
364
|
|
|
363
365
|
|
|
364
366
|
|
|
@@ -368,8 +370,6 @@ function ContractEditor({
|
|
|
368
370
|
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
369
371
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
370
372
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
371
|
-
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:ContractEditor:component"]
|
|
372
|
-
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:CILChunkDetailPage:component" type="component" identity="CILChunkDetailPage" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
373
373
|
// CIL[DOC-MACRO purpose="Admin page for inspecting a single CIL chunk contract, code, callers, and blast radius"]
|
|
374
374
|
// CIL[DOC-RESPONSIBILITY responsibility="Fetch and display chunk contract, validate hash, embed chunk, render graph and blast radius"]
|
|
375
375
|
// CIL[DOC-CONTEXT module="CIL admin UI" layer="presentation" related_files=".framework/src/components/admin/PageInstructions.tsx,.framework/src/components/ui/badge.tsx,.framework/src/components/ui/button.tsx,.framework/src/components/ui/card.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/select.tsx,.framework/src/components/ui/skeleton.tsx,.framework/src/components/ui/tabs.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/api.ts,.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
@@ -377,6 +377,7 @@ function ContractEditor({
|
|
|
377
377
|
// CIL[DOC-MICRO logic_summary="Loads chunk contract and code, renders hash actions, tabs for contract/graph/code/blast, and link cards for callers/callees" notable_decisions="[]"]
|
|
378
378
|
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
379
379
|
// CIL[DOC-STABILITY stability="stable"]
|
|
380
|
+
// CIL[BEGIN stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:CILChunkDetailPage:component" type="component" identity="CILChunkDetailPage" parent="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx"]
|
|
380
381
|
export default function CILChunkDetailPage() {
|
|
381
382
|
const { id: projectId, chunkId } = useParams<{ id: string; chunkId: string }>()
|
|
382
383
|
const appPath = (path: string) => '/spine-framework/admin' + (path.startsWith('/') ? path : '/' + path)
|
|
@@ -526,17 +527,6 @@ export default function CILChunkDetailPage() {
|
|
|
526
527
|
</span>
|
|
527
528
|
</div>
|
|
528
529
|
</div>
|
|
529
|
-
|
|
530
|
-
<PageInstructions
|
|
531
|
-
description="Inspect a single CIL chunk, its contract, and its relationships."
|
|
532
|
-
sections={[
|
|
533
|
-
{ title: 'What this page is for', content: 'This page displays one indexed code chunk, including its contract, code, call graph, and hash/embed status.' },
|
|
534
|
-
{ title: 'How to read this page', content: 'The Contract tab shows macro and micro summaries plus documentation status. The Graph tab lists callers and callees. The Code tab shows the source. Blast Radius appears after calculation.' },
|
|
535
|
-
{ title: 'How to use this page', content: 'Click Validate Hash to confirm the stored hash matches the current file contents. Click Embed Chunk to regenerate its vector embeddings. Click Blast Radius to see impacted chunks.' },
|
|
536
|
-
{ title: 'Important notes', content: 'Dead-code chunks are marked with a destructive badge. Documentation coverage is shown as AI-generated, human-verified, or undocumented.' },
|
|
537
|
-
]}
|
|
538
|
-
/>
|
|
539
|
-
|
|
540
530
|
{}
|
|
541
531
|
<div className="flex items-center gap-3 flex-wrap">
|
|
542
532
|
<HashStatusBadge status={hashStatus} />
|
|
@@ -781,11 +771,11 @@ export default function CILChunkDetailPage() {
|
|
|
781
771
|
</div>
|
|
782
772
|
)
|
|
783
773
|
}
|
|
774
|
+
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:CILChunkDetailPage:component"]
|
|
784
775
|
// CIL[DOC-VECTOR type="context" content="purpose='Admin page for inspecting a single CIL chunk contract, code, callers, and blast radius'; No verified external callers; imports: .framework/src/lib/api.ts,.framework/src/components/ui/card.tsx,.framework/src/components/ui/button.tsx"]
|
|
785
776
|
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
786
777
|
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
787
778
|
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
788
779
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
789
780
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
790
|
-
// CIL[END stable_id="~/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx:CILChunkDetailPage:component"]
|
|
791
781
|
|