scistudio 0.3.4a32__tar.gz
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.
- scistudio-0.3.4a32/.agents/rules/rules.md +77 -0
- scistudio-0.3.4a32/.agents/skills/adr-author/SKILL.md +19 -0
- scistudio-0.3.4a32/.agents/skills/audit-reviewer/SKILL.md +18 -0
- scistudio-0.3.4a32/.agents/skills/implementer/SKILL.md +19 -0
- scistudio-0.3.4a32/.agents/skills/live-implementer/SKILL.md +20 -0
- scistudio-0.3.4a32/.agents/skills/manager/SKILL.md +20 -0
- scistudio-0.3.4a32/.agents/skills/scistudio-e2e-test/SKILL.md +26 -0
- scistudio-0.3.4a32/.agents/skills/test-engineer/SKILL.md +19 -0
- scistudio-0.3.4a32/.claude/rules/rules.md +77 -0
- scistudio-0.3.4a32/.claude/settings.local.json +16 -0
- scistudio-0.3.4a32/.claude/skills/adr-author/SKILL.md +19 -0
- scistudio-0.3.4a32/.claude/skills/audit-reviewer/SKILL.md +18 -0
- scistudio-0.3.4a32/.claude/skills/implementer/SKILL.md +19 -0
- scistudio-0.3.4a32/.claude/skills/live-implementer/SKILL.md +20 -0
- scistudio-0.3.4a32/.claude/skills/manager/SKILL.md +20 -0
- scistudio-0.3.4a32/.claude/skills/scistudio-e2e-test/SKILL.md +26 -0
- scistudio-0.3.4a32/.claude/skills/speckit-analyze/SKILL.md +191 -0
- scistudio-0.3.4a32/.claude/skills/speckit-checklist/SKILL.md +301 -0
- scistudio-0.3.4a32/.claude/skills/speckit-clarify/SKILL.md +185 -0
- scistudio-0.3.4a32/.claude/skills/speckit-constitution/SKILL.md +87 -0
- scistudio-0.3.4a32/.claude/skills/speckit-implement/SKILL.md +205 -0
- scistudio-0.3.4a32/.claude/skills/speckit-plan/SKILL.md +152 -0
- scistudio-0.3.4a32/.claude/skills/speckit-specify/SKILL.md +305 -0
- scistudio-0.3.4a32/.claude/skills/speckit-tasks/SKILL.md +198 -0
- scistudio-0.3.4a32/.claude/skills/speckit-taskstoissues/SKILL.md +36 -0
- scistudio-0.3.4a32/.claude/skills/test-engineer/SKILL.md +19 -0
- scistudio-0.3.4a32/.codex/rules/rules.md +77 -0
- scistudio-0.3.4a32/.codex/skills/adr-author/SKILL.md +19 -0
- scistudio-0.3.4a32/.codex/skills/audit-reviewer/SKILL.md +18 -0
- scistudio-0.3.4a32/.codex/skills/implementer/SKILL.md +19 -0
- scistudio-0.3.4a32/.codex/skills/live-implementer/SKILL.md +20 -0
- scistudio-0.3.4a32/.codex/skills/manager/SKILL.md +20 -0
- scistudio-0.3.4a32/.codex/skills/scistudio-e2e-test/SKILL.md +26 -0
- scistudio-0.3.4a32/.codex/skills/test-engineer/SKILL.md +19 -0
- scistudio-0.3.4a32/.editorconfig +24 -0
- scistudio-0.3.4a32/.gemini/skills/live-implementer/SKILL.md +20 -0
- scistudio-0.3.4a32/.gitattributes +1 -0
- scistudio-0.3.4a32/.github/CODEOWNERS +7 -0
- scistudio-0.3.4a32/.github/ISSUE_TEMPLATE/architecture.yml +46 -0
- scistudio-0.3.4a32/.github/ISSUE_TEMPLATE/bug.yml +32 -0
- scistudio-0.3.4a32/.github/ISSUE_TEMPLATE/feature.yml +42 -0
- scistudio-0.3.4a32/.github/ISSUE_TEMPLATE/refactor.yml +32 -0
- scistudio-0.3.4a32/.github/dependabot.yml +17 -0
- scistudio-0.3.4a32/.github/pull_request_template.md +25 -0
- scistudio-0.3.4a32/.github/workflows/ai-review.yml +54 -0
- scistudio-0.3.4a32/.github/workflows/ci.yml +367 -0
- scistudio-0.3.4a32/.github/workflows/deferral-scan.yml +60 -0
- scistudio-0.3.4a32/.github/workflows/desktop-linux-appimage.yml +95 -0
- scistudio-0.3.4a32/.github/workflows/desktop-macos-dmg.yml +240 -0
- scistudio-0.3.4a32/.github/workflows/desktop-macos-staple.yml +147 -0
- scistudio-0.3.4a32/.github/workflows/desktop-windows-installer.yml +99 -0
- scistudio-0.3.4a32/.github/workflows/docs.yml +71 -0
- scistudio-0.3.4a32/.github/workflows/pypi-publish.yml +321 -0
- scistudio-0.3.4a32/.github/workflows/workflow-gate.yml +139 -0
- scistudio-0.3.4a32/.gitignore +132 -0
- scistudio-0.3.4a32/.pre-commit-config.yaml +41 -0
- scistudio-0.3.4a32/.sentrux/rules.toml +101 -0
- scistudio-0.3.4a32/.specify/init-options.json +10 -0
- scistudio-0.3.4a32/.specify/integration.json +7 -0
- scistudio-0.3.4a32/.specify/integrations/claude/scripts/update-context.ps1 +23 -0
- scistudio-0.3.4a32/.specify/integrations/claude/scripts/update-context.sh +28 -0
- scistudio-0.3.4a32/.specify/integrations/claude.manifest.json +18 -0
- scistudio-0.3.4a32/.specify/integrations/speckit.manifest.json +18 -0
- scistudio-0.3.4a32/.specify/memory/constitution.md +192 -0
- scistudio-0.3.4a32/.specify/scripts/powershell/check-prerequisites.ps1 +148 -0
- scistudio-0.3.4a32/.specify/scripts/powershell/common.ps1 +267 -0
- scistudio-0.3.4a32/.specify/scripts/powershell/create-new-feature.ps1 +366 -0
- scistudio-0.3.4a32/.specify/scripts/powershell/setup-plan.ps1 +61 -0
- scistudio-0.3.4a32/.specify/scripts/powershell/update-agent-context.ps1 +513 -0
- scistudio-0.3.4a32/.specify/templates/agent-file-template.md +28 -0
- scistudio-0.3.4a32/.specify/templates/checklist-template.md +40 -0
- scistudio-0.3.4a32/.specify/templates/constitution-template.md +50 -0
- scistudio-0.3.4a32/.specify/templates/plan-template.md +104 -0
- scistudio-0.3.4a32/.specify/templates/spec-template.md +128 -0
- scistudio-0.3.4a32/.specify/templates/tasks-template.md +251 -0
- scistudio-0.3.4a32/.workflow/audit-pr-body.md +50 -0
- scistudio-0.3.4a32/.workflow/gate-record.schema.json +440 -0
- scistudio-0.3.4a32/.workflow/records/.gitkeep +0 -0
- scistudio-0.3.4a32/.workflow/records/2271-audit-2271-spec1-with-context.json +77 -0
- scistudio-0.3.4a32/.workflow/records/2271-feat-2271-webmcp-bridge.json +4221 -0
- scistudio-0.3.4a32/.workflow/records/2279-audit-2279-spec2-with-context.json +250 -0
- scistudio-0.3.4a32/.workflow/records/2279-feat-2279-agent-context-workspace.json +3066 -0
- scistudio-0.3.4a32/.workflow/records/2280-audit-2280-spec3-with-context.json +258 -0
- scistudio-0.3.4a32/.workflow/records/2280-feat-2280-local-background-runtime.json +1450 -0
- scistudio-0.3.4a32/.workflow/records/2289-repo-hygiene.json +1641 -0
- scistudio-0.3.4a32/.workflow/records/2297-contract-mocks.json +844 -0
- scistudio-0.3.4a32/.workflow/records/2298-headless-e2e.json +665 -0
- scistudio-0.3.4a32/.workflow/records/2303-docs-2303-enterprise-support-spec.json +1536 -0
- scistudio-0.3.4a32/.workflow/records/2304-feat-2304-identity-seam.json +1097 -0
- scistudio-0.3.4a32/.workflow/records/2307-chore-2307-pypi-publish.json +808 -0
- scistudio-0.3.4a32/.workflow/records/2312-test-2312-openapi-snapshot.json +571 -0
- scistudio-0.3.4a32/.workflow/records/audit-2279-spec2-no-context-audit-2279-spec2-no-context.json +249 -0
- scistudio-0.3.4a32/.workflow/records/audit-2280-spec3-no-context-audit-2280-spec3-no-context.json +249 -0
- scistudio-0.3.4a32/.workflow/schema.json +70 -0
- scistudio-0.3.4a32/AGENTS.md +288 -0
- scistudio-0.3.4a32/CHANGELOG.md +2915 -0
- scistudio-0.3.4a32/CLAUDE.md +2 -0
- scistudio-0.3.4a32/CONTRIBUTING.md +78 -0
- scistudio-0.3.4a32/LICENSE +202 -0
- scistudio-0.3.4a32/MAINTAINERS +7 -0
- scistudio-0.3.4a32/Makefile +17 -0
- scistudio-0.3.4a32/PKG-INFO +189 -0
- scistudio-0.3.4a32/README.md +129 -0
- scistudio-0.3.4a32/README.zh-CN.md +116 -0
- scistudio-0.3.4a32/desktop/README.md +162 -0
- scistudio-0.3.4a32/desktop/assets/entitlements.mac.plist +30 -0
- scistudio-0.3.4a32/desktop/assets/icon.icns +0 -0
- scistudio-0.3.4a32/desktop/assets/icon.ico +0 -0
- scistudio-0.3.4a32/desktop/assets/icon.png +0 -0
- scistudio-0.3.4a32/desktop/assets/icon.svg +32 -0
- scistudio-0.3.4a32/desktop/assets/tray.png +0 -0
- scistudio-0.3.4a32/desktop/assets/tray@2x.png +0 -0
- scistudio-0.3.4a32/desktop/assets/trayTemplate.png +0 -0
- scistudio-0.3.4a32/desktop/assets/trayTemplate@2x.png +0 -0
- scistudio-0.3.4a32/desktop/background-mode.js +467 -0
- scistudio-0.3.4a32/desktop/bootstrap.js +233 -0
- scistudio-0.3.4a32/desktop/connection-preload.js +23 -0
- scistudio-0.3.4a32/desktop/connection.html +301 -0
- scistudio-0.3.4a32/desktop/main.js +2453 -0
- scistudio-0.3.4a32/desktop/menu.js +183 -0
- scistudio-0.3.4a32/desktop/ota.js +242 -0
- scistudio-0.3.4a32/desktop/package-lock.json +3644 -0
- scistudio-0.3.4a32/desktop/package.json +110 -0
- scistudio-0.3.4a32/desktop/preload.js +27 -0
- scistudio-0.3.4a32/desktop/resources/.gitignore +20 -0
- scistudio-0.3.4a32/desktop/resources/git/.gitkeep +0 -0
- scistudio-0.3.4a32/desktop/resources/packages/.gitkeep +0 -0
- scistudio-0.3.4a32/desktop/resources/packages/README.md +14 -0
- scistudio-0.3.4a32/desktop/resources/python/.gitkeep +0 -0
- scistudio-0.3.4a32/desktop/runtime-port.js +159 -0
- scistudio-0.3.4a32/desktop/scripts/build-python-runtime-linux.sh +125 -0
- scistudio-0.3.4a32/desktop/scripts/build-python-runtime-macos.sh +124 -0
- scistudio-0.3.4a32/desktop/scripts/build-python-runtime.ps1 +148 -0
- scistudio-0.3.4a32/desktop/scripts/fetch-git-portable.ps1 +123 -0
- scistudio-0.3.4a32/desktop/scripts/fetch-git-portable.sh +149 -0
- scistudio-0.3.4a32/desktop/scripts/notarize.js +377 -0
- scistudio-0.3.4a32/desktop/scripts/npm-spawn.js +88 -0
- scistudio-0.3.4a32/desktop/scripts/stage-resources.ps1 +146 -0
- scistudio-0.3.4a32/desktop/scripts/stage-resources.sh +132 -0
- scistudio-0.3.4a32/desktop/scripts/start-dev.js +77 -0
- scistudio-0.3.4a32/desktop/scripts/start-electron.js +19 -0
- scistudio-0.3.4a32/desktop/splash.html +228 -0
- scistudio-0.3.4a32/desktop/test/background-mode.test.js +494 -0
- scistudio-0.3.4a32/desktop/test/bootstrap.test.js +364 -0
- scistudio-0.3.4a32/desktop/test/build-python-runtime.test.js +52 -0
- scistudio-0.3.4a32/desktop/test/harness/electron-stub.js +288 -0
- scistudio-0.3.4a32/desktop/test/harness/fake-backend.js +68 -0
- scistudio-0.3.4a32/desktop/test/harness/run-scenario.js +643 -0
- scistudio-0.3.4a32/desktop/test/linux-appimage.test.js +63 -0
- scistudio-0.3.4a32/desktop/test/macos-signing.test.js +98 -0
- scistudio-0.3.4a32/desktop/test/main-orchestration.test.js +48 -0
- scistudio-0.3.4a32/desktop/test/menu.test.js +268 -0
- scistudio-0.3.4a32/desktop/test/notarize.test.js +303 -0
- scistudio-0.3.4a32/desktop/test/npm-spawn.test.js +100 -0
- scistudio-0.3.4a32/desktop/test/ota.test.js +386 -0
- scistudio-0.3.4a32/desktop/test/runtime-port.test.js +172 -0
- scistudio-0.3.4a32/desktop/test/shell-known-good.test.js +103 -0
- scistudio-0.3.4a32/docs/adr/ADR-001.md +264 -0
- scistudio-0.3.4a32/docs/adr/ADR-002.md +241 -0
- scistudio-0.3.4a32/docs/adr/ADR-003.md +125 -0
- scistudio-0.3.4a32/docs/adr/ADR-004.md +115 -0
- scistudio-0.3.4a32/docs/adr/ADR-005.md +99 -0
- scistudio-0.3.4a32/docs/adr/ADR-006.md +154 -0
- scistudio-0.3.4a32/docs/adr/ADR-007.md +91 -0
- scistudio-0.3.4a32/docs/adr/ADR-008.md +92 -0
- scistudio-0.3.4a32/docs/adr/ADR-009.md +97 -0
- scistudio-0.3.4a32/docs/adr/ADR-010.md +76 -0
- scistudio-0.3.4a32/docs/adr/ADR-011.md +110 -0
- scistudio-0.3.4a32/docs/adr/ADR-012.md +88 -0
- scistudio-0.3.4a32/docs/adr/ADR-013.md +86 -0
- scistudio-0.3.4a32/docs/adr/ADR-014.md +98 -0
- scistudio-0.3.4a32/docs/adr/ADR-015.md +88 -0
- scistudio-0.3.4a32/docs/adr/ADR-016.md +80 -0
- scistudio-0.3.4a32/docs/adr/ADR-017.md +252 -0
- scistudio-0.3.4a32/docs/adr/ADR-018.md +271 -0
- scistudio-0.3.4a32/docs/adr/ADR-019.md +317 -0
- scistudio-0.3.4a32/docs/adr/ADR-020.md +317 -0
- scistudio-0.3.4a32/docs/adr/ADR-021.md +173 -0
- scistudio-0.3.4a32/docs/adr/ADR-022-addendum1.md +90 -0
- scistudio-0.3.4a32/docs/adr/ADR-022.md +200 -0
- scistudio-0.3.4a32/docs/adr/ADR-023.md +296 -0
- scistudio-0.3.4a32/docs/adr/ADR-024.md +216 -0
- scistudio-0.3.4a32/docs/adr/ADR-025.md +238 -0
- scistudio-0.3.4a32/docs/adr/ADR-026.md +221 -0
- scistudio-0.3.4a32/docs/adr/ADR-027.md +366 -0
- scistudio-0.3.4a32/docs/adr/ADR-028.md +288 -0
- scistudio-0.3.4a32/docs/adr/ADR-029.md +287 -0
- scistudio-0.3.4a32/docs/adr/ADR-030.md +177 -0
- scistudio-0.3.4a32/docs/adr/ADR-031.md +1018 -0
- scistudio-0.3.4a32/docs/adr/ADR-032.md +507 -0
- scistudio-0.3.4a32/docs/adr/ADR-033.md +863 -0
- scistudio-0.3.4a32/docs/adr/ADR-034.md +624 -0
- scistudio-0.3.4a32/docs/adr/ADR-035-addendum1.md +165 -0
- scistudio-0.3.4a32/docs/adr/ADR-035.md +480 -0
- scistudio-0.3.4a32/docs/adr/ADR-036.md +372 -0
- scistudio-0.3.4a32/docs/adr/ADR-037.md +890 -0
- scistudio-0.3.4a32/docs/adr/ADR-038.md +703 -0
- scistudio-0.3.4a32/docs/adr/ADR-039.md +873 -0
- scistudio-0.3.4a32/docs/adr/ADR-040.md +1174 -0
- scistudio-0.3.4a32/docs/adr/ADR-041.md +755 -0
- scistudio-0.3.4a32/docs/adr/ADR-042-addendum1.md +637 -0
- scistudio-0.3.4a32/docs/adr/ADR-042-addendum2.md +267 -0
- scistudio-0.3.4a32/docs/adr/ADR-042-addendum3.md +227 -0
- scistudio-0.3.4a32/docs/adr/ADR-042-addendum4.md +456 -0
- scistudio-0.3.4a32/docs/adr/ADR-042-addendum5.md +382 -0
- scistudio-0.3.4a32/docs/adr/ADR-042-addendum6.md +1331 -0
- scistudio-0.3.4a32/docs/adr/ADR-042-addendum7.md +336 -0
- scistudio-0.3.4a32/docs/adr/ADR-042.md +1615 -0
- scistudio-0.3.4a32/docs/adr/ADR-043.md +950 -0
- scistudio-0.3.4a32/docs/adr/ADR-044-addendum1.md +161 -0
- scistudio-0.3.4a32/docs/adr/ADR-044.md +433 -0
- scistudio-0.3.4a32/docs/adr/ADR-045.md +648 -0
- scistudio-0.3.4a32/docs/adr/ADR-046-addendum1.md +196 -0
- scistudio-0.3.4a32/docs/adr/ADR-046.md +199 -0
- scistudio-0.3.4a32/docs/adr/ADR-047.md +182 -0
- scistudio-0.3.4a32/docs/adr/ADR-048.md +535 -0
- scistudio-0.3.4a32/docs/adr/ADR-049.md +620 -0
- scistudio-0.3.4a32/docs/adr/ADR-050.md +668 -0
- scistudio-0.3.4a32/docs/adr/ADR-051-addendum1.md +182 -0
- scistudio-0.3.4a32/docs/adr/ADR-051.md +369 -0
- scistudio-0.3.4a32/docs/adr/ADR-052.md +597 -0
- scistudio-0.3.4a32/docs/adr/ADR-053.md +760 -0
- scistudio-0.3.4a32/docs/adr/ADR-054.md +733 -0
- scistudio-0.3.4a32/docs/adr/ADR-055.md +555 -0
- scistudio-0.3.4a32/docs/adr/ADR_legacy.md +8645 -0
- scistudio-0.3.4a32/docs/adr/_template/ADR-template.md +0 -0
- scistudio-0.3.4a32/docs/agent-provisioning.md +205 -0
- scistudio-0.3.4a32/docs/ai-developer/checklists/agent-manager-rules-review.md +127 -0
- scistudio-0.3.4a32/docs/ai-developer/e2e/2026-06-13-adr048-pr1577-viewers.md +301 -0
- scistudio-0.3.4a32/docs/ai-developer/e2e/2026-08-21-lc-level-1-regression.md +179 -0
- scistudio-0.3.4a32/docs/ai-developer/e2e/2026-08-22-lc-level-2-what-is-a-type.md +525 -0
- scistudio-0.3.4a32/docs/ai-developer/e2e/2026-08-23-shell-ota-hot-update-lifecycle.md +394 -0
- scistudio-0.3.4a32/docs/ai-developer/e2e/README.md +71 -0
- scistudio-0.3.4a32/docs/ai-developer/e2e/template.md +137 -0
- scistudio-0.3.4a32/docs/ai-developer/gate-cli-command-set.md +750 -0
- scistudio-0.3.4a32/docs/ai-developer/personas/adr-author.md +138 -0
- scistudio-0.3.4a32/docs/ai-developer/personas/audit-reviewer.md +123 -0
- scistudio-0.3.4a32/docs/ai-developer/personas/implementer.md +112 -0
- scistudio-0.3.4a32/docs/ai-developer/personas/live-implementer.md +297 -0
- scistudio-0.3.4a32/docs/ai-developer/personas/manager.md +136 -0
- scistudio-0.3.4a32/docs/ai-developer/personas/test-engineer.md +107 -0
- scistudio-0.3.4a32/docs/ai-developer/release-runbook.md +374 -0
- scistudio-0.3.4a32/docs/ai-developer/rules.md +230 -0
- scistudio-0.3.4a32/docs/ai-developer/skills/scistudio-e2e-test/SKILL.md +286 -0
- scistudio-0.3.4a32/docs/ai-developer/skills/scistudio-e2e-test/references/chrome-mcp-recipes.md +191 -0
- scistudio-0.3.4a32/docs/ai-developer/skills/scistudio-e2e-test/references/dev-server-lifecycle.md +166 -0
- scistudio-0.3.4a32/docs/ai-developer/skills/scistudio-e2e-test/references/report-template.md +168 -0
- scistudio-0.3.4a32/docs/ai-developer/skills/scistudio-e2e-test/references/screenshot-recipes.md +179 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/agent-dispatch.md +264 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/bug-fix.md +92 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/docs-change.md +96 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/document-standards.md +237 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/gated-workflow.md +816 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/guided-work.md +329 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/hotfix.md +98 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/new-feature.md +76 -0
- scistudio-0.3.4a32/docs/ai-developer/specific_rules/test-engineering.md +118 -0
- scistudio-0.3.4a32/docs/ai-developer/templates/agent-dispatch-audit-no-context-prompt-template.md +111 -0
- scistudio-0.3.4a32/docs/ai-developer/templates/agent-dispatch-audit-with-context-prompt-template.md +119 -0
- scistudio-0.3.4a32/docs/ai-developer/templates/agent-dispatch-checklist-template.md +184 -0
- scistudio-0.3.4a32/docs/ai-developer/templates/agent-dispatch-prompt-template.md +139 -0
- scistudio-0.3.4a32/docs/architecture/ARCHITECTURE.md +2461 -0
- scistudio-0.3.4a32/docs/architecture/ARCHITECTURE_legacy.md +3586 -0
- scistudio-0.3.4a32/docs/architecture/PROJECT_TREE.md +813 -0
- scistudio-0.3.4a32/docs/architecture/sentrux-rules.md +51 -0
- scistudio-0.3.4a32/docs/assets/README.md +4 -0
- scistudio-0.3.4a32/docs/assets/scistudio-canvas.png +0 -0
- scistudio-0.3.4a32/docs/audit/2026-05-21-semantic-dup-scan.md +478 -0
- scistudio-0.3.4a32/docs/audit/2026-05-22-umbrella-1427-phase1-with-context.md +445 -0
- scistudio-0.3.4a32/docs/audit/2026-09-06-adr-055-spec1-with-context.md +249 -0
- scistudio-0.3.4a32/docs/audit/2026-09-10-adr-055-spec3-no-context.md +325 -0
- scistudio-0.3.4a32/docs/audit/2026-09-10-adr-055-spec3-with-context.md +418 -0
- scistudio-0.3.4a32/docs/audit/2026-09-11-adr-054-panels-no-context.md +754 -0
- scistudio-0.3.4a32/docs/audit/2026-09-11-adr-055-spec2-no-context.md +342 -0
- scistudio-0.3.4a32/docs/audit/2026-09-11-adr-055-spec2-with-context.md +350 -0
- scistudio-0.3.4a32/docs/audit/README.md +5 -0
- scistudio-0.3.4a32/docs/audit/baselines/deferral-baseline.json +41 -0
- scistudio-0.3.4a32/docs/cli-integration.md +255 -0
- scistudio-0.3.4a32/docs/contributing/docstring-style.md +204 -0
- scistudio-0.3.4a32/docs/contributing/frontend-api-mocks.md +89 -0
- scistudio-0.3.4a32/docs/contributing/headless-e2e.md +71 -0
- scistudio-0.3.4a32/docs/contributing/workflows/human-bypass.md +160 -0
- scistudio-0.3.4a32/docs/data-storage-transport-audit.en.md +220 -0
- scistudio-0.3.4a32/docs/package-development/architecture.md +130 -0
- scistudio-0.3.4a32/docs/package-development/blocks.md +146 -0
- scistudio-0.3.4a32/docs/package-development/index.md +69 -0
- scistudio-0.3.4a32/docs/package-development/previewers.md +126 -0
- scistudio-0.3.4a32/docs/package-development/publishing.md +163 -0
- scistudio-0.3.4a32/docs/package-development/tutorials.md +259 -0
- scistudio-0.3.4a32/docs/package-development/types.md +176 -0
- scistudio-0.3.4a32/docs/planning/adr-038-039-checklist.md +697 -0
- scistudio-0.3.4a32/docs/planning/adr-043-package-migration-checklist.md +491 -0
- scistudio-0.3.4a32/docs/planning/adr-048-ai-plot-tools-scope.md +365 -0
- scistudio-0.3.4a32/docs/planning/adr-048-developer-docs-scope.md +115 -0
- scistudio-0.3.4a32/docs/planning/adr-048-impact-matrix.md +95 -0
- scistudio-0.3.4a32/docs/planning/adr-048-pr1577-fix-checklist.md +189 -0
- scistudio-0.3.4a32/docs/planning/adr-048-preview-system-scope.md +402 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/contracts/contract-table.schema.json +183 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/contracts/pv-a1-sections-01-03.json +932 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/contracts/pv-a2-sections-04-06.json +619 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/contracts/pv-a3-sections-07-09.json +959 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/contracts/pv-a4-sections-10-12.json +939 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/contracts/pv-a5-section-13-omissions.json +698 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/prompts/pv-a1-sections-01-03.md +76 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/prompts/pv-a2-sections-04-06.md +66 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/prompts/pv-a3-sections-07-09.md +65 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/prompts/pv-a4-sections-10-12.md +66 -0
- scistudio-0.3.4a32/docs/planning/adr-049-package-validator/prompts/pv-a5-section-13-omissions.md +70 -0
- scistudio-0.3.4a32/docs/planning/adr-053-work-import-checklist.md +1176 -0
- scistudio-0.3.4a32/docs/planning/backend-god-file-refactor-checklist.md +204 -0
- scistudio-0.3.4a32/docs/planning/learning-center-checklist.md +706 -0
- scistudio-0.3.4a32/docs/planning/package-validator-contract-survey-draft.md +293 -0
- scistudio-0.3.4a32/docs/specs/_template/SPEC-template.md +0 -0
- scistudio-0.3.4a32/docs/specs/adr-034-multi-provider-agent-chat.md +1642 -0
- scistudio-0.3.4a32/docs/specs/adr-041-codeblock-v2.md +665 -0
- scistudio-0.3.4a32/docs/specs/adr-042-ai-governance-tools.md +714 -0
- scistudio-0.3.4a32/docs/specs/adr-042-code-quality-tools.md +537 -0
- scistudio-0.3.4a32/docs/specs/adr-042-consistency-tools.md +752 -0
- scistudio-0.3.4a32/docs/specs/adr-042-documentation-tools.md +561 -0
- scistudio-0.3.4a32/docs/specs/adr-042-gate-ledger-runtime.md +852 -0
- scistudio-0.3.4a32/docs/specs/adr-042-gate-record-sentrux-workflow.md +854 -0
- scistudio-0.3.4a32/docs/specs/adr-042-local-gate-receipts.md +423 -0
- scistudio-0.3.4a32/docs/specs/adr-042-test-engineer-persona.md +380 -0
- scistudio-0.3.4a32/docs/specs/adr-043-io-format-capability-registry.md +646 -0
- scistudio-0.3.4a32/docs/specs/adr-043-package-migration.md +858 -0
- scistudio-0.3.4a32/docs/specs/adr-044-subworkflow-block.md +516 -0
- scistudio-0.3.4a32/docs/specs/adr-045-workflow-state-version.md +298 -0
- scistudio-0.3.4a32/docs/specs/adr-048-ai-plot-tools.md +559 -0
- scistudio-0.3.4a32/docs/specs/adr-048-developer-docs-refresh.md +525 -0
- scistudio-0.3.4a32/docs/specs/adr-048-plot-render-collection-ux.md +409 -0
- scistudio-0.3.4a32/docs/specs/adr-048-preview-system.md +732 -0
- scistudio-0.3.4a32/docs/specs/adr-049-package-validator-implementation.md +354 -0
- scistudio-0.3.4a32/docs/specs/adr-050-canvas-node-readability.md +637 -0
- scistudio-0.3.4a32/docs/specs/adr-051-interactive-blocks.md +453 -0
- scistudio-0.3.4a32/docs/specs/adr-052-public-api-surface.md +1590 -0
- scistudio-0.3.4a32/docs/specs/adr-053-learning-center.md +2096 -0
- scistudio-0.3.4a32/docs/specs/adr-053-personal-tool-library.md +1285 -0
- scistudio-0.3.4a32/docs/specs/adr-053-work-import.md +1178 -0
- scistudio-0.3.4a32/docs/specs/adr-054-panels.md +930 -0
- scistudio-0.3.4a32/docs/specs/adr-055-agent-context-workspace.md +761 -0
- scistudio-0.3.4a32/docs/specs/adr-055-enterprise-support.md +573 -0
- scistudio-0.3.4a32/docs/specs/adr-055-identity-seam.md +564 -0
- scistudio-0.3.4a32/docs/specs/adr-055-local-background-runtime.md +558 -0
- scistudio-0.3.4a32/docs/specs/adr-055-prefix-independence.md +358 -0
- scistudio-0.3.4a32/docs/specs/adr-055-webmcp-bridge.md +468 -0
- scistudio-0.3.4a32/docs/specs/alpha-observability-logging.md +316 -0
- scistudio-0.3.4a32/docs/specs/alpha-version-management.md +230 -0
- scistudio-0.3.4a32/docs/specs/appblock-variadic-ports.md +151 -0
- scistudio-0.3.4a32/docs/specs/data-preview-3d-viewer.md +182 -0
- scistudio-0.3.4a32/docs/specs/desktop-macos-signing-notarization.md +417 -0
- scistudio-0.3.4a32/docs/specs/desktop-ota-hot-update.md +205 -0
- scistudio-0.3.4a32/docs/specs/desktop-package-ota-hot-update.md +199 -0
- scistudio-0.3.4a32/docs/specs/desktop-shell-ota-hot-update.md +394 -0
- scistudio-0.3.4a32/docs/specs/embedded-coding-agent-spec.md +1290 -0
- scistudio-0.3.4a32/docs/specs/frontend-block-palette.md +893 -0
- scistudio-0.3.4a32/docs/specs/gate-local-incremental-checks.md +480 -0
- scistudio-0.3.4a32/docs/specs/phase10-implementation-standards.md +2472 -0
- scistudio-0.3.4a32/docs/specs/phase11-imaging-block-spec.md +6420 -0
- scistudio-0.3.4a32/docs/specs/phase11-implementation-standards.md +3409 -0
- scistudio-0.3.4a32/docs/specs/phase11-lcms-block-spec.md +3868 -0
- scistudio-0.3.4a32/docs/specs/phase11-srs-block-spec.md +1964 -0
- scistudio-0.3.4a32/docs/specs/port-description-metadata.md +204 -0
- scistudio-0.3.4a32/docs/specs/spectroscopy-package.md +1754 -0
- scistudio-0.3.4a32/docs/user/reference/index.md +30 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.api.app.md +21 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.api.seam.md +170 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.blocks.app.md +99 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.blocks.base.md +179 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.blocks.code.md +814 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.blocks.io.md +165 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.blocks.process.md +20 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.core.meta.md +47 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.core.types.md +137 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.previewers.data_access.md +150 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.previewers.models.md +284 -0
- scistudio-0.3.4a32/docs/user/reference/scistudio.tutorials.md +219 -0
- scistudio-0.3.4a32/frontend/.prettierignore +11 -0
- scistudio-0.3.4a32/frontend/.prettierrc.json +10 -0
- scistudio-0.3.4a32/frontend/components.json +21 -0
- scistudio-0.3.4a32/frontend/docs/2026-06-10-autoopen-investigation.md +147 -0
- scistudio-0.3.4a32/frontend/e2e/adr043-a3-smoke.md +124 -0
- scistudio-0.3.4a32/frontend/e2e/specs/adr050-canvas-readability.spec.ts +43 -0
- scistudio-0.3.4a32/frontend/e2e/specs/system-flows.spec.ts +96 -0
- scistudio-0.3.4a32/frontend/e2e/support/globals.d.ts +7 -0
- scistudio-0.3.4a32/frontend/e2e/support/systemMocks.ts +232 -0
- scistudio-0.3.4a32/frontend/eslint.config.js +188 -0
- scistudio-0.3.4a32/frontend/index.html +12 -0
- scistudio-0.3.4a32/frontend/package-lock.json +12638 -0
- scistudio-0.3.4a32/frontend/package.json +77 -0
- scistudio-0.3.4a32/frontend/playwright.config.ts +26 -0
- scistudio-0.3.4a32/frontend/postcss.config.js +6 -0
- scistudio-0.3.4a32/frontend/src/App.busyIndicator.test.tsx +93 -0
- scistudio-0.3.4a32/frontend/src/App.parts/AppDialogs.tsx +77 -0
- scistudio-0.3.4a32/frontend/src/App.parts/AppLevelMergeFlow.tsx +44 -0
- scistudio-0.3.4a32/frontend/src/App.parts/InteractiveModals.parts/DynamicPanel.test.tsx +294 -0
- scistudio-0.3.4a32/frontend/src/App.parts/InteractiveModals.parts/DynamicPanel.tsx +241 -0
- scistudio-0.3.4a32/frontend/src/App.parts/InteractiveModals.parts/__tests__/tutorialReviewPanel.test.ts +151 -0
- scistudio-0.3.4a32/frontend/src/App.parts/InteractiveModals.parts/panelModuleLoader.test.ts +250 -0
- scistudio-0.3.4a32/frontend/src/App.parts/InteractiveModals.parts/panelModuleLoader.ts +294 -0
- scistudio-0.3.4a32/frontend/src/App.parts/InteractiveModals.test.tsx +137 -0
- scistudio-0.3.4a32/frontend/src/App.parts/InteractiveModals.tsx +166 -0
- scistudio-0.3.4a32/frontend/src/App.parts/ProjectWorkspace.tsx +682 -0
- scistudio-0.3.4a32/frontend/src/App.parts/WelcomePane.tsx +38 -0
- scistudio-0.3.4a32/frontend/src/App.parts/__tests__/newDropinFile.test.tsx +323 -0
- scistudio-0.3.4a32/frontend/src/App.parts/__tests__/useDesktopMenuActions.test.tsx +155 -0
- scistudio-0.3.4a32/frontend/src/App.parts/__tests__/useTutorialReplayTab.test.tsx +130 -0
- scistudio-0.3.4a32/frontend/src/App.parts/closeProject.ts +34 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useActiveTab.ts +34 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useAppKeyboardShortcuts.ts +178 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useAppLifecycleEffects.ts +121 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useBlockCatalogSync.ts +52 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useBottomPanelControls.ts +107 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useCanvasHandlers.test.tsx +177 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useCanvasHandlers.ts +283 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useCanvasReadability.ts +40 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useDesktopMenuActions.ts +68 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useFileTabsAutosave.ts +84 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useLearningCenter.ts +322 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useProjectActions.ts +648 -0
- scistudio-0.3.4a32/frontend/src/App.parts/usePromptInput.ts +27 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useTutorialReplayTab.ts +0 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useWorkflowExecutionActions.test.tsx +64 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useWorkflowExecutionActions.ts +220 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useWorkflowSync.test.tsx +213 -0
- scistudio-0.3.4a32/frontend/src/App.parts/useWorkflowSync.ts +188 -0
- scistudio-0.3.4a32/frontend/src/App.test.tsx +96 -0
- scistudio-0.3.4a32/frontend/src/App.tsx +589 -0
- scistudio-0.3.4a32/frontend/src/__tests__/CapabilityDropdown.test.tsx +294 -0
- scistudio-0.3.4a32/frontend/src/__tests__/LossySaveWarning.test.tsx +378 -0
- scistudio-0.3.4a32/frontend/src/__tests__/adr043-a3-smoke.test.tsx +251 -0
- scistudio-0.3.4a32/frontend/src/__tests__/capabilities.test.ts +219 -0
- scistudio-0.3.4a32/frontend/src/__tests__/contract/mockBackend.test.ts +185 -0
- scistudio-0.3.4a32/frontend/src/__tests__/contract/mockBackend.ts +274 -0
- scistudio-0.3.4a32/frontend/src/__tests__/contract/openapi.ts +266 -0
- scistudio-0.3.4a32/frontend/src/__tests__/eslint-config.test.ts +93 -0
- scistudio-0.3.4a32/frontend/src/api/capabilities.ts +352 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/angry.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar/angry.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar/curious.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar/error.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar/explain.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar/focus.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar/idle.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar/success.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar-mirrored/angry.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar-mirrored/error.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar-mirrored/explain.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar-mirrored/focus.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar-mirrored/idle.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/avatar-mirrored/success.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/curious.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/error.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/explain.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/focus.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/idle.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/mirrored/angry.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/mirrored/error.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/mirrored/explain.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/mirrored/focus.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/mirrored/idle.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/mirrored/success.webp +0 -0
- scistudio-0.3.4a32/frontend/src/assets/mio/success.webp +0 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/ScriptedAgentView.tsx +122 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/SetupScreen.parts/NoProvidersNotice.tsx +50 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/SetupScreen.parts/PermissionModePicker.tsx +83 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/SetupScreen.parts/ProviderPicker.tsx +179 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/SetupScreen.parts/types.ts +27 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/SetupScreen.tsx +249 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalTab.tsx +288 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalTabs.parts/ConfirmDialog.tsx +41 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalTabs.parts/TabStrip.tsx +84 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalTabs.parts/TabStripItem.tsx +195 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalTabs.tsx +296 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalView.parts/TerminalContextMenu.tsx +124 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalView.parts/clipboard.ts +157 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalView.parts/menuPlacement.ts +72 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalView.parts/useTerminalClipboard.ts +217 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalView.parts/useTerminalScrollHint.ts +98 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/TerminalView.tsx +688 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/ProviderExtensibility.test.tsx +245 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/ProviderPicker.test.tsx +179 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/ScriptedAgentView.test.tsx +116 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/SetupScreen.test.tsx +377 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/TerminalContextMenu.test.tsx +104 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/TerminalTab.test.tsx +294 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/TerminalTabs.skeleton.test.tsx +31 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/TerminalTabs.test.tsx +668 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/TerminalView.paced.test.tsx +111 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/TerminalView.scrollHint.test.tsx +159 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/TerminalView.test.tsx +666 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/menuPlacement.test.ts +102 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/scriptedPacing.test.ts +576 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/terminalViewHarness.tsx +269 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/usePtyWebSocket.test.ts +297 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/xtermPasteContract.test.ts +190 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/__tests__/xtermScrollContract.test.ts +154 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/blockPtyHandlers.ts +139 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/hooks/usePtyWebSocket.ts +227 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/scriptedAgentBanner.ts +61 -0
- scistudio-0.3.4a32/frontend/src/components/AIChat/scriptedPacing.ts +558 -0
- scistudio-0.3.4a32/frontend/src/components/ActivityBar.test.tsx +76 -0
- scistudio-0.3.4a32/frontend/src/components/ActivityBar.tsx +103 -0
- scistudio-0.3.4a32/frontend/src/components/BlockDetailPopover.tsx +107 -0
- scistudio-0.3.4a32/frontend/src/components/BlockPalette.parts/BlockTile.tsx +43 -0
- scistudio-0.3.4a32/frontend/src/components/BlockPalette.parts/CategoryChips.tsx +37 -0
- scistudio-0.3.4a32/frontend/src/components/BlockPalette.parts/__tests__/paletteModel.test.ts +364 -0
- scistudio-0.3.4a32/frontend/src/components/BlockPalette.parts/paletteModel.ts +244 -0
- scistudio-0.3.4a32/frontend/src/components/BlockPalette.test.tsx +447 -0
- scistudio-0.3.4a32/frontend/src/components/BlockPalette.tsx +333 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/CaretPreservingTextInput.tsx +112 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/CodeBlockConfigEditor.tsx +407 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/ConfigField.tsx +258 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/ConfigPanel.test.tsx +826 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/ConfigPanel.tsx +420 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/ConfigPanelBrowse.test.tsx +100 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/FormatCapabilityConfig.tsx +93 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/LogViewer.test.tsx +65 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/LogViewer.tsx +106 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/PlotTargetPicker.test.tsx +227 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/PlotTargetPicker.tsx +341 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/PlotsTab.test.tsx +369 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/PlotsTab.tsx +396 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/SubworkflowConfigEditor.test.tsx +85 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/SubworkflowConfigEditor.tsx +74 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/TabBar.tsx +146 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/codeBlockPorts.test.ts +124 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/codeBlockPorts.ts +148 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.parts/subworkflowConfig.ts +25 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.test.tsx +815 -0
- scistudio-0.3.4a32/frontend/src/components/BottomPanel.tsx +146 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/AgentSetup.tsx +100 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/AvailabilityGuidance.tsx +210 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/CorrectnessCaveat.tsx +34 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/DataKindsQuestion.tsx +100 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/FreeTextQuestion.tsx +101 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/PageNav.tsx +144 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/SourceAndDestination.tsx +118 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/availability.ts +262 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/copy.ts +496 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/formState.ts +224 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/pages.ts +195 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.parts/useAgentAvailability.ts +179 -0
- scistudio-0.3.4a32/frontend/src/components/BringInMyWorkDialog.tsx +576 -0
- scistudio-0.3.4a32/frontend/src/components/CodeEditor.parts/plotCompletions.test.ts +44 -0
- scistudio-0.3.4a32/frontend/src/components/CodeEditor.parts/plotCompletions.ts +238 -0
- scistudio-0.3.4a32/frontend/src/components/CodeEditor.parts/theme.ts +29 -0
- scistudio-0.3.4a32/frontend/src/components/CodeEditor.parts/useConflictDecorations.ts +76 -0
- scistudio-0.3.4a32/frontend/src/components/CodeEditor.parts/useLintMarkers.ts +142 -0
- scistudio-0.3.4a32/frontend/src/components/CodeEditor.tsx +241 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/NodePortPanel.tsx +54 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/PlotViewer.tsx +280 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/PortInfoPanel.test.tsx +168 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/PortInfoPanel.tsx +134 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/PreviewHost.dynamic.test.tsx +335 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/PreviewHost.exportFallback.test.tsx +190 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/PreviewHost.test.tsx +569 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/PreviewHost.tsx +657 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/SubworkflowPortPanel.tsx +107 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/TableViewer.tsx +389 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/__tests__/NodePortPanel.test.tsx +67 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/__tests__/SubworkflowPortPanel.test.tsx +72 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/coreViewers.test.tsx +433 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/coreViewers.tsx +883 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/dynamicPreviewer.ts +205 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/previewerHostApi.ts +233 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/refEntries.test.ts +158 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.parts/refEntries.ts +164 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.test.tsx +335 -0
- scistudio-0.3.4a32/frontend/src/components/DataPreview.tsx +271 -0
- scistudio-0.3.4a32/frontend/src/components/DataRouterModal.parts/InputPanels.tsx +51 -0
- scistudio-0.3.4a32/frontend/src/components/DataRouterModal.parts/ItemCard.tsx +29 -0
- scistudio-0.3.4a32/frontend/src/components/DataRouterModal.parts/OutputPanels.tsx +62 -0
- scistudio-0.3.4a32/frontend/src/components/DataRouterModal.parts/types.ts +25 -0
- scistudio-0.3.4a32/frontend/src/components/DataRouterModal.tsx +178 -0
- scistudio-0.3.4a32/frontend/src/components/ErrorBoundary.tsx +62 -0
- scistudio-0.3.4a32/frontend/src/components/Git/BranchPicker.parts/AutoCommitToast.tsx +24 -0
- scistudio-0.3.4a32/frontend/src/components/Git/BranchPicker.parts/BranchCreateDialog.tsx +79 -0
- scistudio-0.3.4a32/frontend/src/components/Git/BranchPicker.parts/BranchMenuContent.tsx +134 -0
- scistudio-0.3.4a32/frontend/src/components/Git/BranchPicker.tsx +191 -0
- scistudio-0.3.4a32/frontend/src/components/Git/CommitDialog.parts/WorkingTreeList.tsx +39 -0
- scistudio-0.3.4a32/frontend/src/components/Git/CommitDialog.tsx +205 -0
- scistudio-0.3.4a32/frontend/src/components/Git/ConflictMarkerDecoration.parts/decorations.ts +79 -0
- scistudio-0.3.4a32/frontend/src/components/Git/ConflictMarkerDecoration.parts/parser.ts +204 -0
- scistudio-0.3.4a32/frontend/src/components/Git/ConflictMarkerDecoration.parts/types.ts +37 -0
- scistudio-0.3.4a32/frontend/src/components/Git/ConflictMarkerDecoration.parts/widget.ts +85 -0
- scistudio-0.3.4a32/frontend/src/components/Git/ConflictMarkerDecoration.ts +222 -0
- scistudio-0.3.4a32/frontend/src/components/Git/ConflictResolveView.tsx +185 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitDiffModal.tsx +163 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/GraphSVG.parts/GraphDots.tsx +108 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/GraphSVG.parts/GraphLabels.tsx +142 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/GraphSVG.tsx +174 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/__tests__/edgeRouter.test.ts +227 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/__tests__/laneAssign.test.ts +216 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/colorPalette.ts +115 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/edgeRouter.ts +524 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/integration.ts +106 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/interactions.ts +198 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/laneAssign.parts/trunkPin.ts +81 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitGraph/laneAssign.ts +371 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitHistoryList.parts/GitGraphPane.test.tsx +83 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitHistoryList.parts/GitGraphPane.tsx +82 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitHistoryList.parts/HistoryListBody.tsx +70 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitHistoryList.parts/HistoryRow.tsx +95 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitHistoryList.parts/HistoryToolbar.tsx +129 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitHistoryList.tsx +211 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitStatusBadge.tsx +100 -0
- scistudio-0.3.4a32/frontend/src/components/Git/GitTab.tsx +96 -0
- scistudio-0.3.4a32/frontend/src/components/Git/MergeFlow.parts/MergeFlowBody.tsx +144 -0
- scistudio-0.3.4a32/frontend/src/components/Git/MergeFlow.parts/useMergeStateMachine.ts +179 -0
- scistudio-0.3.4a32/frontend/src/components/Git/MergeFlow.tsx +104 -0
- scistudio-0.3.4a32/frontend/src/components/Git/__tests__/BranchPicker.test.tsx +97 -0
- scistudio-0.3.4a32/frontend/src/components/Git/__tests__/CommitDialog.test.tsx +170 -0
- scistudio-0.3.4a32/frontend/src/components/Git/__tests__/ConflictMarkerDecoration.test.ts +176 -0
- scistudio-0.3.4a32/frontend/src/components/Git/__tests__/ConflictResolveView.test.tsx +300 -0
- scistudio-0.3.4a32/frontend/src/components/Git/__tests__/GitHistoryList.test.tsx +308 -0
- scistudio-0.3.4a32/frontend/src/components/Git/__tests__/GitTab.test.tsx +108 -0
- scistudio-0.3.4a32/frontend/src/components/Git/__tests__/MergeFlow.test.tsx +176 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/ActiveStep.tsx +379 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/DialogueSurface.tsx +557 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/DocMarkdown.tsx +166 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/DocsBrowser.tsx +321 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/FinishChoice.tsx +56 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/GroupProgress.tsx +83 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/PageMarkdown.tsx +124 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/ProgressRing.tsx +75 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/ProviderIntro.tsx +195 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/ReadingSurface.tsx +308 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/StepControls.tsx +75 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/StepHeading.tsx +96 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/StepProgressRing.tsx +69 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/TargetHighlight.tsx +60 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/TutorialDetail.tsx +192 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/TutorialList.tsx +81 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/TutorialProblemBanner.tsx +50 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/WorkImportOffer.tsx +268 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/ActiveStep.test.tsx +663 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/DialogueSurface.test.tsx +425 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/DocMarkdown.test.tsx +131 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/DocsBrowser.test.tsx +232 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/PageMarkdown.test.tsx +57 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/ReadingSurface.test.tsx +330 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/beatText.test.ts +165 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/docsNav.test.ts +186 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/mio.test.ts +93 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/placeCard.test.ts +194 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/placeDialogue.test.ts +102 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/prefill.test.ts +74 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/readingCards.test.ts +215 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/stepFlow.test.ts +120 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/useHighlightRect.test.tsx +202 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/__tests__/useTypewriter.test.ts +272 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/beatText.ts +81 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/docsNav.ts +152 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/mio.ts +239 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/placeCard.ts +180 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/placeDialogue.ts +157 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/prefill.ts +42 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/readingCards.ts +128 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/stepFlow.ts +92 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/targets.ts +334 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/useHighlightRect.ts +144 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.parts/useTypewriter.ts +135 -0
- scistudio-0.3.4a32/frontend/src/components/LearningCenter.tsx +484 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/BlockExecutionCard.tsx +314 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/LineageTab.tsx +299 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/MethodsExportDialog.tsx +334 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RestoreDialog.parts/PreflightReport.tsx +109 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RestoreDialog.parts/useRestorePreflight.ts +69 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RestoreDialog.tsx +166 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RunDetail.parts/PartialRerunBanner.tsx +59 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RunDetail.parts/RunDetailHeader.tsx +92 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RunDetail.parts/format.ts +36 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RunDetail.parts/restore.tsx +124 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RunDetail.tsx +194 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/RunsList.tsx +380 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/__tests__/LineageTab.test.tsx +118 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/__tests__/RestoreDialog.test.tsx +221 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/__tests__/RunDetail.restore.test.tsx +164 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/__tests__/RunDetail.test.tsx +289 -0
- scistudio-0.3.4a32/frontend/src/components/Lineage/__tests__/RunsList.test.tsx +163 -0
- scistudio-0.3.4a32/frontend/src/components/OpenAsDialog.parts/request.ts +60 -0
- scistudio-0.3.4a32/frontend/src/components/OpenAsDialog.tsx +140 -0
- scistudio-0.3.4a32/frontend/src/components/PackageManagerDialog.test.tsx +171 -0
- scistudio-0.3.4a32/frontend/src/components/PackageManagerDialog.tsx +321 -0
- scistudio-0.3.4a32/frontend/src/components/PairEditorModal.tsx +200 -0
- scistudio-0.3.4a32/frontend/src/components/PortEditor/CapabilityDropdown.tsx +315 -0
- scistudio-0.3.4a32/frontend/src/components/PortEditorTable.capabilityDirection.test.tsx +72 -0
- scistudio-0.3.4a32/frontend/src/components/PortEditorTable.test.tsx +289 -0
- scistudio-0.3.4a32/frontend/src/components/PortEditorTable.tsx +265 -0
- scistudio-0.3.4a32/frontend/src/components/PreviewerPalette.parts/PreviewerCard.tsx +155 -0
- scistudio-0.3.4a32/frontend/src/components/PreviewerPalette.parts/previewerModel.test.ts +173 -0
- scistudio-0.3.4a32/frontend/src/components/PreviewerPalette.parts/previewerModel.ts +162 -0
- scistudio-0.3.4a32/frontend/src/components/PreviewerPalette.tsx +234 -0
- scistudio-0.3.4a32/frontend/src/components/ProjectDialog.parts/ProjectFormFields.tsx +95 -0
- scistudio-0.3.4a32/frontend/src/components/ProjectDialog.parts/RecentProjectsList.tsx +96 -0
- scistudio-0.3.4a32/frontend/src/components/ProjectDialog.test.tsx +61 -0
- scistudio-0.3.4a32/frontend/src/components/ProjectDialog.tsx +146 -0
- scistudio-0.3.4a32/frontend/src/components/ProjectTree.parts/ContextMenu.tsx +68 -0
- scistudio-0.3.4a32/frontend/src/components/ProjectTree.parts/types.ts +17 -0
- scistudio-0.3.4a32/frontend/src/components/ProjectTree.parts/useTreeNodes.ts +164 -0
- scistudio-0.3.4a32/frontend/src/components/ProjectTree.tsx +269 -0
- scistudio-0.3.4a32/frontend/src/components/PromptDialog.test.tsx +65 -0
- scistudio-0.3.4a32/frontend/src/components/PromptDialog.tsx +125 -0
- scistudio-0.3.4a32/frontend/src/components/TabBar.tsx +92 -0
- scistudio-0.3.4a32/frontend/src/components/Toolbar.parts/FileOperationsGroup.tsx +173 -0
- scistudio-0.3.4a32/frontend/src/components/Toolbar.parts/ProjectHeader.tsx +93 -0
- scistudio-0.3.4a32/frontend/src/components/Toolbar.parts/ProjectsDropdown.tsx +80 -0
- scistudio-0.3.4a32/frontend/src/components/Toolbar.parts/ToolbarButton.tsx +62 -0
- scistudio-0.3.4a32/frontend/src/components/Toolbar.parts/WorkflowGroups.tsx +110 -0
- scistudio-0.3.4a32/frontend/src/components/Toolbar.test.tsx +250 -0
- scistudio-0.3.4a32/frontend/src/components/Toolbar.tsx +330 -0
- scistudio-0.3.4a32/frontend/src/components/TypePalette.parts/TypeDetailPopover.tsx +145 -0
- scistudio-0.3.4a32/frontend/src/components/TypePalette.parts/TypeRow.tsx +124 -0
- scistudio-0.3.4a32/frontend/src/components/TypePalette.parts/__tests__/fixtures.ts +24 -0
- scistudio-0.3.4a32/frontend/src/components/TypePalette.parts/__tests__/typeModel.test.ts +331 -0
- scistudio-0.3.4a32/frontend/src/components/TypePalette.parts/typeModel.ts +337 -0
- scistudio-0.3.4a32/frontend/src/components/TypePalette.tsx +331 -0
- scistudio-0.3.4a32/frontend/src/components/TypedEdge.tsx +58 -0
- scistudio-0.3.4a32/frontend/src/components/WelcomeScreen.test.tsx +72 -0
- scistudio-0.3.4a32/frontend/src/components/WelcomeScreen.tsx +114 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/CanvasReadabilityControls.tsx +120 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/WorkflowMiniMap.tsx +34 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/applyFocus.test.ts +101 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/autoLayout.test.ts +186 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/dropPosition.test.ts +94 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/focusMode.test.ts +127 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/layoutConstants.test.ts +19 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/subworkflowConnect.test.ts +69 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/subworkflowRouting.test.ts +85 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/subworkflowRunView.test.ts +96 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/__tests__/unresolvedBlockNode.test.ts +198 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/applyFocus.ts +56 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/autoLayout.ts +177 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/flowNodeBuilder.ts +428 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/focusMode.ts +178 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/layoutConstants.ts +43 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/subworkflowRunView.ts +122 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/useCanvasHandlers.ts +265 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/useFlowCallbacks.ts +47 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.parts/useFlowNodes.ts +243 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowCanvas.tsx +465 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowConflictDialog.test.tsx +77 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowConflictDialog.tsx +87 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowEditor/LossySaveWarning.tsx +185 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowPanel.test.tsx +159 -0
- scistudio-0.3.4a32/frontend/src/components/WorkflowPanel.tsx +128 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/BringInMyWorkDialog.harness.tsx +197 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/BringInMyWorkDialog.test.tsx +1003 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/BringInMyWorkDialogPaging.test.tsx +584 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/BringInMyWorkToolbarEntry.test.tsx +92 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/CodeEditor.test.tsx +383 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/LearningCenter.test.tsx +655 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/OpenAsDialog.test.tsx +230 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/PreviewerPalette.test.tsx +400 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/ProjectTree.test.tsx +390 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/TypePalette.test.tsx +394 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/WorkImportOffer.test.tsx +549 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/edgePortColorParity.test.tsx +244 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/tutorialAutoAdvance.test.tsx +318 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/tutorialProjectOpens.test.tsx +460 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/tutorialTargets.test.tsx +738 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/typeColorSource.test.tsx +243 -0
- scistudio-0.3.4a32/frontend/src/components/__tests__/workImport.test.ts +355 -0
- scistudio-0.3.4a32/frontend/src/components/interactiveModals.designSystem.test.tsx +65 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/AnnotationNode.test.tsx +70 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/AnnotationNode.tsx +111 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/AddPortDialog.tsx +131 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/FileBrowserModal.tsx +290 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/NodeActionToolbar.tsx +83 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/NodeStatusSurface.tsx +275 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/PortHandles.tsx +386 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/categoryVisuals.test.ts +114 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/categoryVisuals.ts +252 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/nodeDetailAnchor.test.ts +48 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/nodeDetailAnchor.ts +64 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.parts/nodeGeometry.ts +66 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.test.tsx +39 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/BlockNode.tsx +304 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/SubWorkflowNode.tsx +181 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/AddPortDialog.test.tsx +125 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/BlockNode/actionToolbar.test.tsx +69 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/BlockNode/compactNode.test.tsx +203 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/BlockNode/hoverDetail.test.tsx +112 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/BlockNode/ports.test.tsx +282 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/BlockNode/statusSurface.test.tsx +257 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/BlockNode/test-utils.tsx +200 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/BlockNode/unresolvedNode.test.tsx +117 -0
- scistudio-0.3.4a32/frontend/src/components/nodes/__tests__/SubWorkflowNode.test.tsx +180 -0
- scistudio-0.3.4a32/frontend/src/components/palette/DetailPopover.tsx +77 -0
- scistudio-0.3.4a32/frontend/src/components/palette/FilterChips.tsx +55 -0
- scistudio-0.3.4a32/frontend/src/components/palette/PaletteTile.tsx +108 -0
- scistudio-0.3.4a32/frontend/src/components/palette/__tests__/sections.test.ts +148 -0
- scistudio-0.3.4a32/frontend/src/components/palette/__tests__/useHoverPopover.test.tsx +168 -0
- scistudio-0.3.4a32/frontend/src/components/palette/hoverPopover.ts +156 -0
- scistudio-0.3.4a32/frontend/src/components/palette/sections.ts +136 -0
- scistudio-0.3.4a32/frontend/src/components/palette/tips/PaletteTipCard.tsx +115 -0
- scistudio-0.3.4a32/frontend/src/components/palette/tips/__tests__/PaletteTipCard.test.tsx +154 -0
- scistudio-0.3.4a32/frontend/src/components/palette/tips/__tests__/tipPool.test.ts +50 -0
- scistudio-0.3.4a32/frontend/src/components/palette/tips/__tests__/useTipRotation.test.ts +106 -0
- scistudio-0.3.4a32/frontend/src/components/palette/tips/tipPool.ts +458 -0
- scistudio-0.3.4a32/frontend/src/components/palette/tips/useTipRotation.ts +79 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/PromoteToLibraryAction.tsx +81 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/UserLibraryDialogs.tsx +435 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/cascade.test.ts +102 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/dialogs.test.tsx +169 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/entryPoints.test.tsx +339 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/fixtures.ts +52 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/promotable.test.ts +144 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/promoteToUserLibrary.test.ts +441 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/pythonImports.test.ts +92 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/revealInLibrary.test.tsx +183 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/__tests__/runPromotion.test.ts +122 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/cascade.ts +146 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/dialogChannel.ts +160 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/promotable.ts +178 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/promoteToUserLibrary.ts +456 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/promotionIo.ts +108 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/pythonImports.ts +237 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/revealInLibrary.ts +95 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/runPromotion.ts +55 -0
- scistudio-0.3.4a32/frontend/src/components/promotion/useEditorPromotable.ts +27 -0
- scistudio-0.3.4a32/frontend/src/components/ui/button.tsx +54 -0
- scistudio-0.3.4a32/frontend/src/components/ui/dropdown-menu.tsx +77 -0
- scistudio-0.3.4a32/frontend/src/components/ui/resizable.tsx +42 -0
- scistudio-0.3.4a32/frontend/src/components/ui/separator.tsx +24 -0
- scistudio-0.3.4a32/frontend/src/components/ui/tabs.tsx +53 -0
- scistudio-0.3.4a32/frontend/src/components/ui/tooltip.tsx +30 -0
- scistudio-0.3.4a32/frontend/src/config/__tests__/typeColorMap.test.ts +300 -0
- scistudio-0.3.4a32/frontend/src/config/typeColorMap.ts +362 -0
- scistudio-0.3.4a32/frontend/src/hooks/__tests__/tutorialCanvasFit.test.ts +77 -0
- scistudio-0.3.4a32/frontend/src/hooks/__tests__/useElapsedMs.test.tsx +72 -0
- scistudio-0.3.4a32/frontend/src/hooks/__tests__/useReloadFlash.test.ts +58 -0
- scistudio-0.3.4a32/frontend/src/hooks/__tests__/useWebSocket.versionVector.test.ts +538 -0
- scistudio-0.3.4a32/frontend/src/hooks/connectionState.ts +38 -0
- scistudio-0.3.4a32/frontend/src/hooks/useElapsedMs.ts +43 -0
- scistudio-0.3.4a32/frontend/src/hooks/usePackageUpdates.ts +47 -0
- scistudio-0.3.4a32/frontend/src/hooks/useRealtime.test.tsx +99 -0
- scistudio-0.3.4a32/frontend/src/hooks/useReconnect.test.tsx +255 -0
- scistudio-0.3.4a32/frontend/src/hooks/useReloadFlash.ts +37 -0
- scistudio-0.3.4a32/frontend/src/hooks/useSSE.ts +98 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.parts/dispatchEvent.ts +108 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.parts/handleBlockPty.ts +120 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.parts/handleFileChanged.ts +184 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.parts/handleInteractivePrompt.test.ts +71 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.parts/handleLifecycle.ts +82 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.parts/handleWorkflowChanged.ts +266 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.parts/helpers.ts +65 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.test.ts +490 -0
- scistudio-0.3.4a32/frontend/src/hooks/useWebSocket.ts +200 -0
- scistudio-0.3.4a32/frontend/src/index.css +134 -0
- scistudio-0.3.4a32/frontend/src/lib/__tests__/logger.test.ts +152 -0
- scistudio-0.3.4a32/frontend/src/lib/__tests__/userLibrary.test.ts +122 -0
- scistudio-0.3.4a32/frontend/src/lib/api/__tests__/agentAvailability.test.ts +197 -0
- scistudio-0.3.4a32/frontend/src/lib/api/__tests__/api-surface.test.ts +212 -0
- scistudio-0.3.4a32/frontend/src/lib/api/__tests__/filesystem.test.ts +56 -0
- scistudio-0.3.4a32/frontend/src/lib/api/__tests__/plotPreview.test.ts +213 -0
- scistudio-0.3.4a32/frontend/src/lib/api/__tests__/timeout.test.ts +124 -0
- scistudio-0.3.4a32/frontend/src/lib/api/agentAvailability.ts +110 -0
- scistudio-0.3.4a32/frontend/src/lib/api/ai.ts +40 -0
- scistudio-0.3.4a32/frontend/src/lib/api/base-path.test.ts +178 -0
- scistudio-0.3.4a32/frontend/src/lib/api/base-path.ts +102 -0
- scistudio-0.3.4a32/frontend/src/lib/api/blocks.ts +49 -0
- scistudio-0.3.4a32/frontend/src/lib/api/code.ts +94 -0
- scistudio-0.3.4a32/frontend/src/lib/api/core.ts +192 -0
- scistudio-0.3.4a32/frontend/src/lib/api/data.ts +297 -0
- scistudio-0.3.4a32/frontend/src/lib/api/filesystem.ts +47 -0
- scistudio-0.3.4a32/frontend/src/lib/api/git.ts +110 -0
- scistudio-0.3.4a32/frontend/src/lib/api/learningCenter.ts +466 -0
- scistudio-0.3.4a32/frontend/src/lib/api/lineage.ts +263 -0
- scistudio-0.3.4a32/frontend/src/lib/api/packages.ts +39 -0
- scistudio-0.3.4a32/frontend/src/lib/api/projects.ts +51 -0
- scistudio-0.3.4a32/frontend/src/lib/api/userDocs.ts +71 -0
- scistudio-0.3.4a32/frontend/src/lib/api/userLibrary.ts +71 -0
- scistudio-0.3.4a32/frontend/src/lib/api/version.ts +92 -0
- scistudio-0.3.4a32/frontend/src/lib/api/workImport.ts +214 -0
- scistudio-0.3.4a32/frontend/src/lib/api/workflows.ts +140 -0
- scistudio-0.3.4a32/frontend/src/lib/api.ts +74 -0
- scistudio-0.3.4a32/frontend/src/lib/capabilities.test.ts +119 -0
- scistudio-0.3.4a32/frontend/src/lib/capabilities.ts +105 -0
- scistudio-0.3.4a32/frontend/src/lib/chooseSubworkflowFile.test.ts +108 -0
- scistudio-0.3.4a32/frontend/src/lib/chooseSubworkflowFile.ts +73 -0
- scistudio-0.3.4a32/frontend/src/lib/fileExistence.test.ts +72 -0
- scistudio-0.3.4a32/frontend/src/lib/fileExistence.ts +54 -0
- scistudio-0.3.4a32/frontend/src/lib/interactiveMemory.test.ts +30 -0
- scistudio-0.3.4a32/frontend/src/lib/interactiveMemory.ts +37 -0
- scistudio-0.3.4a32/frontend/src/lib/logger.ts +257 -0
- scistudio-0.3.4a32/frontend/src/lib/openDataFile.ts +75 -0
- scistudio-0.3.4a32/frontend/src/lib/plotTargetLabel.test.ts +104 -0
- scistudio-0.3.4a32/frontend/src/lib/plotTargetLabel.ts +88 -0
- scistudio-0.3.4a32/frontend/src/lib/utils.ts +6 -0
- scistudio-0.3.4a32/frontend/src/main.tsx +31 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/blockSchemaEviction.test.ts +75 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/gitLogRetryStorm.test.ts +149 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/gitSlice.test.ts +405 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/lineageSlice.test.ts +205 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/normalizeLoadedNodes.test.ts +67 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/previewerCatalogInvalidation.test.ts +194 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/tabHelpers.test.ts +10 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/tabSlice.versionVector.test.ts +201 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/tabState.test.ts +398 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/terminalTabsSlice.tutorialReplay.test.ts +93 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/terminalTabsSlice.workImport.test.ts +88 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/typeCatalogInvalidation.test.ts +161 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/userLibraryTab.test.ts +102 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/uxHotfix.test.ts +95 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/workflowSlice.conflict.test.ts +115 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/workflowSlice.layoutBatch.test.ts +140 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/workflowSlice.subworkflowRef.test.ts +82 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/workflowSlice.variadicPorts.test.ts +134 -0
- scistudio-0.3.4a32/frontend/src/store/__tests__/workflowSlice.versionVector.test.ts +114 -0
- scistudio-0.3.4a32/frontend/src/store/executionSlice.parts/eventReducer.test.ts +273 -0
- scistudio-0.3.4a32/frontend/src/store/executionSlice.parts/eventReducer.ts +173 -0
- scistudio-0.3.4a32/frontend/src/store/executionSlice.ts +82 -0
- scistudio-0.3.4a32/frontend/src/store/gitSlice.ts +413 -0
- scistudio-0.3.4a32/frontend/src/store/index.ts +205 -0
- scistudio-0.3.4a32/frontend/src/store/learningCenterSlice.ts +630 -0
- scistudio-0.3.4a32/frontend/src/store/lineageSlice.ts +308 -0
- scistudio-0.3.4a32/frontend/src/store/paletteSlice.ts +37 -0
- scistudio-0.3.4a32/frontend/src/store/previewSlice.ts +74 -0
- scistudio-0.3.4a32/frontend/src/store/previewerCatalogSlice.ts +35 -0
- scistudio-0.3.4a32/frontend/src/store/projectSlice.ts +36 -0
- scistudio-0.3.4a32/frontend/src/store/tabSlice.parts/fileTabActions.ts +607 -0
- scistudio-0.3.4a32/frontend/src/store/tabSlice.parts/previewTabActions.ts +61 -0
- scistudio-0.3.4a32/frontend/src/store/tabSlice.parts/tabHelpers.ts +149 -0
- scistudio-0.3.4a32/frontend/src/store/tabSlice.parts/workflowTabActions.ts +191 -0
- scistudio-0.3.4a32/frontend/src/store/tabSlice.test.ts +297 -0
- scistudio-0.3.4a32/frontend/src/store/tabSlice.ts +45 -0
- scistudio-0.3.4a32/frontend/src/store/terminalTabsSlice.ts +326 -0
- scistudio-0.3.4a32/frontend/src/store/types.ts +1203 -0
- scistudio-0.3.4a32/frontend/src/store/typesSlice.ts +35 -0
- scistudio-0.3.4a32/frontend/src/store/uiSlice.ts +123 -0
- scistudio-0.3.4a32/frontend/src/store/usePreviewerCatalog.ts +232 -0
- scistudio-0.3.4a32/frontend/src/store/useTypeCatalog.ts +190 -0
- scistudio-0.3.4a32/frontend/src/store/workflowSlice.parts/workflowEditActions.ts +295 -0
- scistudio-0.3.4a32/frontend/src/store/workflowSlice.parts/workflowHelpers.ts +107 -0
- scistudio-0.3.4a32/frontend/src/store/workflowSlice.parts/workflowVersionActions.ts +62 -0
- scistudio-0.3.4a32/frontend/src/store/workflowSlice.ts +143 -0
- scistudio-0.3.4a32/frontend/src/testUtils.ts +61 -0
- scistudio-0.3.4a32/frontend/src/types/api.ts +1121 -0
- scistudio-0.3.4a32/frontend/src/types/desktop.d.ts +35 -0
- scistudio-0.3.4a32/frontend/src/types/lineage.ts +134 -0
- scistudio-0.3.4a32/frontend/src/types/ui.ts +158 -0
- scistudio-0.3.4a32/frontend/src/utils/__fixtures__/README.md +45 -0
- scistudio-0.3.4a32/frontend/src/utils/__fixtures__/generate_portcompat_oracle.py +179 -0
- scistudio-0.3.4a32/frontend/src/utils/__fixtures__/portcompat.oracle.json +415 -0
- scistudio-0.3.4a32/frontend/src/utils/__tests__/computeEffectivePorts.test.ts +274 -0
- scistudio-0.3.4a32/frontend/src/utils/computeEffectivePorts.ts +104 -0
- scistudio-0.3.4a32/frontend/src/utils/portCompat.conformance.test.ts +56 -0
- scistudio-0.3.4a32/frontend/src/utils/portCompat.ts +57 -0
- scistudio-0.3.4a32/frontend/src/vite-env.d.ts +1 -0
- scistudio-0.3.4a32/frontend/src/webmcp/register.test.ts +290 -0
- scistudio-0.3.4a32/frontend/src/webmcp/register.ts +257 -0
- scistudio-0.3.4a32/frontend/src/webmcp/types.ts +68 -0
- scistudio-0.3.4a32/frontend/tailwind.config.ts +70 -0
- scistudio-0.3.4a32/frontend/tsconfig.json +25 -0
- scistudio-0.3.4a32/frontend/tsconfig.node.json +9 -0
- scistudio-0.3.4a32/frontend/vite.config.ts +42 -0
- scistudio-0.3.4a32/frontend/vitest.setup.ts +76 -0
- scistudio-0.3.4a32/mkdocs.site.yml +42 -0
- scistudio-0.3.4a32/mkdocs.yml +85 -0
- scistudio-0.3.4a32/pyproject.toml +528 -0
- scistudio-0.3.4a32/scripts/ai_review.py +158 -0
- scistudio-0.3.4a32/scripts/audit/check_package_contract_tables.py +819 -0
- scistudio-0.3.4a32/scripts/audit/generate_facts.py +88 -0
- scistudio-0.3.4a32/scripts/check_god_files.py +154 -0
- scistudio-0.3.4a32/scripts/deferral_scan.py +339 -0
- scistudio-0.3.4a32/scripts/docs/build_reference.py +480 -0
- scistudio-0.3.4a32/scripts/docs/build_site.py +117 -0
- scistudio-0.3.4a32/scripts/docs/griffe_sphinx_roles.py +81 -0
- scistudio-0.3.4a32/scripts/find_cycles.py +118 -0
- scistudio-0.3.4a32/scripts/hooks/check-agent-template.sh +59 -0
- scistudio-0.3.4a32/scripts/hooks/check-ci-after-pr.sh +36 -0
- scistudio-0.3.4a32/scripts/hooks/check-gate-before-pr.sh +133 -0
- scistudio-0.3.4a32/scripts/hooks/check-gate-before-push.sh +11 -0
- scistudio-0.3.4a32/scripts/hooks/check-worktree-write-guard.sh +27 -0
- scistudio-0.3.4a32/scripts/hooks/remind-checklist-discipline.sh +90 -0
- scistudio-0.3.4a32/scripts/ota_publish.py +791 -0
- scistudio-0.3.4a32/scripts/prompts/review_agent_prompt.md +14 -0
- scistudio-0.3.4a32/scripts/scistudio_pr_create.py +224 -0
- scistudio-0.3.4a32/scripts/templates/reinstall-notice.html +196 -0
- scistudio-0.3.4a32/scripts/verify_ome_propagation_e2e001.py +155 -0
- scistudio-0.3.4a32/scripts/version.py +152 -0
- scistudio-0.3.4a32/setup.cfg +4 -0
- scistudio-0.3.4a32/setup.py +129 -0
- scistudio-0.3.4a32/skills/scistudio/examples/basic-image-workflow.yaml +37 -0
- scistudio-0.3.4a32/src/imagecodecs/__init__.pyi +2 -0
- scistudio-0.3.4a32/src/scistudio/__init__.py +9 -0
- scistudio-0.3.4a32/src/scistudio/__main__.py +30 -0
- scistudio-0.3.4a32/src/scistudio/_agent_reference/README.md +20 -0
- scistudio-0.3.4a32/src/scistudio/_agent_reference/block-contract.md +174 -0
- scistudio-0.3.4a32/src/scistudio/_agent_reference/data-types.md +56 -0
- scistudio-0.3.4a32/src/scistudio/_agent_reference/package-discovery.md +46 -0
- scistudio-0.3.4a32/src/scistudio/_agent_reference/plot-contract.md +63 -0
- scistudio-0.3.4a32/src/scistudio/_agent_reference/public-api.md +72 -0
- scistudio-0.3.4a32/src/scistudio/_agent_reference/workflow-schema.md +76 -0
- scistudio-0.3.4a32/src/scistudio/_skills/scistudio/SKILL.md +151 -0
- scistudio-0.3.4a32/src/scistudio/_skills/scistudio/scistudio-build-workflow/SKILL.md +411 -0
- scistudio-0.3.4a32/src/scistudio/_skills/scistudio/scistudio-debug-run/SKILL.md +217 -0
- scistudio-0.3.4a32/src/scistudio/_skills/scistudio/scistudio-inspect-data/SKILL.md +172 -0
- scistudio-0.3.4a32/src/scistudio/_skills/scistudio/scistudio-project-qa/SKILL.md +86 -0
- scistudio-0.3.4a32/src/scistudio/_skills/scistudio/scistudio-write-block/SKILL.md +125 -0
- scistudio-0.3.4a32/src/scistudio/_skills/scistudio/scistudio-write-plot/SKILL.md +210 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/README.md +54 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/ai-assistant.md +219 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/index.md +28 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.api.app.md +60 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.api.seam.md +199 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.blocks.app.md +216 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.blocks.base.md +332 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.blocks.code.md +1302 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.blocks.io.md +261 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.blocks.process.md +53 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.core.meta.md +96 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.core.types.md +345 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.previewers.data_access.md +178 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.previewers.models.md +424 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/api-reference/scistudio.tutorials.md +382 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/built-in-blocks.md +131 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/custom-types.md +123 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/data-types.md +79 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/README.md +17 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/app-fiji/README.md +63 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/app-fiji/block.py +53 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/app-fiji/gaussian_blur.ijm +21 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/code-accucor-r/README.md +67 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/code-accucor-r/accucor.R +37 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/io-load-npy/README.md +58 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/io-load-npy/block.py +38 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/process-scale-array/README.md +53 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/examples/process-scale-array/block.py +55 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/getting-started.md +92 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/history-and-branches.md +124 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/how-scistudio-works.md +103 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/using-the-gui.md +110 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/writing-blocks.md +197 -0
- scistudio-0.3.4a32/src/scistudio/_user_guide/writing-plots.md +113 -0
- scistudio-0.3.4a32/src/scistudio/_version.py +23 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/__init__.py +25 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/_orchestrate.py +229 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/_refresh.py +123 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/claude_agents_md.py +82 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/codex_config.py +402 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/docs.py +268 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/hooks.py +562 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/skills.py +180 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/claude_agents_md.md +158 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/codex_config.toml +18 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/hook_deny_scistudio_cli.py +77 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/hook_enforce_concrete_port_types.py +266 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/hook_enforce_list_blocks_before_block_write.py +137 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/hook_mark_list_blocks_called.py +86 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/hook_protect_data_dir.py +187 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/hook_protect_workflow_yaml.py +73 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/hook_remind_poll_status.py +71 -0
- scistudio-0.3.4a32/src/scistudio/agent_provisioning/templates/legacy_content_hashes.json +142 -0
- scistudio-0.3.4a32/src/scistudio/ai/__init__.py +9 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/__init__.py +15 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/availability.py +941 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/__init__.py +76 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/_context.py +342 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/_reload.py +82 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/runtime.py +356 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/server.py +565 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_authoring.py +525 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_execution.py +1013 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_inspection/__init__.py +120 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_inspection/_helpers.py +45 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_inspection/_models.py +126 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_inspection/_preview.py +259 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_inspection/read.py +454 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_inspection/write.py +164 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_library.py +346 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_plot/__init__.py +61 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_plot/tools.py +296 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_qa.py +859 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_workflow/__init__.py +159 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_workflow/_errors.py +82 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_workflow/_helpers.py +291 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_workflow/_models.py +287 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_workflow/finish_ai_block.py +146 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_workflow/read.py +429 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_workflow/write.py +588 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/mcp/tools_workspace.py +1638 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/providers_registry.py +931 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/system_prompt.py +380 -0
- scistudio-0.3.4a32/src/scistudio/ai/agent/terminal.py +1022 -0
- scistudio-0.3.4a32/src/scistudio/ai/work_import/__init__.py +48 -0
- scistudio-0.3.4a32/src/scistudio/ai/work_import/brief.py +196 -0
- scistudio-0.3.4a32/src/scistudio/ai/work_import/brief_template.md +390 -0
- scistudio-0.3.4a32/src/scistudio/ai/work_import/context.py +136 -0
- scistudio-0.3.4a32/src/scistudio/api/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/api/_block_source.py +153 -0
- scistudio-0.3.4a32/src/scistudio/api/_logging_middleware.py +60 -0
- scistudio-0.3.4a32/src/scistudio/api/app.py +651 -0
- scistudio-0.3.4a32/src/scistudio/api/deps.py +59 -0
- scistudio-0.3.4a32/src/scistudio/api/file_contracts.py +22 -0
- scistudio-0.3.4a32/src/scistudio/api/mcp_lifecycle.py +77 -0
- scistudio-0.3.4a32/src/scistudio/api/project_layout.py +72 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai.py +284 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai_pty/__init__.py +136 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai_pty/_state.py +130 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai_pty/engine.py +395 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai_pty/internal_routes.py +160 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai_pty/replay.py +248 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai_pty/subscribers.py +65 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai_pty/validation.py +58 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/ai_pty/websocket.py +359 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/blocks.py +658 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/data.py +804 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/diagnostics.py +229 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/filesystem.py +791 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/git.py +826 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/lint.py +156 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/packages.py +302 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/plots.py +425 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/projects.py +449 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/runs.py +245 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/tutorials.py +1839 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/types.py +384 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/user_docs.py +330 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/user_library.py +558 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/webmcp.py +341 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/work_import.py +321 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/workflow_watcher.py +926 -0
- scistudio-0.3.4a32/src/scistudio/api/routes/workflows.py +748 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/__init__.py +836 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/_data.py +411 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/_file_writes.py +1051 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/_helpers.py +98 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/_preview_image.py +81 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/_projects.py +720 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/_runs.py +596 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/_workflows.py +413 -0
- scistudio-0.3.4a32/src/scistudio/api/runtime/models.py +87 -0
- scistudio-0.3.4a32/src/scistudio/api/schemas.py +939 -0
- scistudio-0.3.4a32/src/scistudio/api/seam.py +385 -0
- scistudio-0.3.4a32/src/scistudio/api/spa.py +203 -0
- scistudio-0.3.4a32/src/scistudio/api/sse.py +43 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/addon-fit-DsiWvdAE.js +1 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/addon-search-DOhs21rt.js +1 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/addon-web-links-BG-joD3z.js +1 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/angry-4BxFpznm.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/angry-CIxoCmRA.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/angry-DOZSr2eI.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/angry-OJIlFFS_.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/curious-BiSpegpO.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/curious-CWpH9LG1.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/dist-tAomAQqw.js +11 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/error-BleqAxM6.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/error-D2k7zTYG.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/error-bYFmQn_T.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/error-w0JnDiYI.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/explain-C9HJeaTR.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/explain-CEudMkFj.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/explain-CHctbWBX.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/explain-Czwz4FFo.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/focus-4LQkM2Fe.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/focus-Bi9bL4u6.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/focus-Co9Aqu82.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/focus-UK1NAJgN.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/idle-BQa5Gvps.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/idle-CkZgInbl.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/idle-DehWj1q5.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/idle-DoYFJHYA.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/index-BcmpQTCY.js +4170 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/index-D98odo3q.css +1 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/rolldown-runtime-aKtaBQYM.js +1 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/success-CPUABz1t.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/success-Cc1xrM26.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/success-CsQK1By4.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/success-CsVsOvwx.webp +0 -0
- scistudio-0.3.4a32/src/scistudio/api/static/assets/xterm-Bh7nDvRl.js +7 -0
- scistudio-0.3.4a32/src/scistudio/api/static/index.html +14 -0
- scistudio-0.3.4a32/src/scistudio/api/ws.py +363 -0
- scistudio-0.3.4a32/src/scistudio/blocks/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/blocks/_templates/__init__.py +11 -0
- scistudio-0.3.4a32/src/scistudio/blocks/_templates/block_base_template.py +238 -0
- scistudio-0.3.4a32/src/scistudio/blocks/ai/__init__.py +7 -0
- scistudio-0.3.4a32/src/scistudio/blocks/ai/ai_block.py +849 -0
- scistudio-0.3.4a32/src/scistudio/blocks/ai/completion.py +287 -0
- scistudio-0.3.4a32/src/scistudio/blocks/ai/parsers.py +133 -0
- scistudio-0.3.4a32/src/scistudio/blocks/ai/providers.py +264 -0
- scistudio-0.3.4a32/src/scistudio/blocks/ai/run_dir.py +365 -0
- scistudio-0.3.4a32/src/scistudio/blocks/app/__init__.py +36 -0
- scistudio-0.3.4a32/src/scistudio/blocks/app/app_block.py +668 -0
- scistudio-0.3.4a32/src/scistudio/blocks/app/bridge.py +546 -0
- scistudio-0.3.4a32/src/scistudio/blocks/app/command_validator.py +74 -0
- scistudio-0.3.4a32/src/scistudio/blocks/app/watcher.py +230 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/__init__.py +41 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/block.py +729 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/config.py +62 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/exceptions.py +21 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/interactive.py +425 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/package_info.py +73 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/ports.py +251 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/result.py +25 -0
- scistudio-0.3.4a32/src/scistudio/blocks/base/state.py +63 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/__init__.py +156 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/_backends_registry.py +353 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/backends/__init__.py +35 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/backends/matlab.py +260 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/backends/notebook.py +264 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/backends/python.py +111 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/backends/r_quarto.py +248 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/backends/shell.py +208 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/code_block.py +718 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/config.py +339 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/exchange.py +867 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/interpreters.py +214 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/introspect.py +172 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/lazy_list.py +115 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/provenance.py +243 -0
- scistudio-0.3.4a32/src/scistudio/blocks/code/validation.py +382 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/__init__.py +55 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/_config_enrichment.py +97 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/_unified_dispatch.py +447 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/capabilities.py +381 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/io_block.py +373 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/loaders/__init__.py +14 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/loaders/_capability.py +497 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/loaders/_helpers.py +144 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/loaders/load_data.py +927 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/materialisation.py +455 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/savers/__init__.py +14 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/savers/_capability.py +678 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/savers/_helpers.py +305 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/savers/_streaming.py +114 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/savers/save_data.py +1006 -0
- scistudio-0.3.4a32/src/scistudio/blocks/io/simple_io.py +292 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/__init__.py +7 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/builtins/__init__.py +15 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/builtins/data_router.py +220 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/builtins/merge.py +130 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/builtins/merge_collection.py +129 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/builtins/pair_editor.py +226 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/builtins/split.py +157 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/process_block.py +253 -0
- scistudio-0.3.4a32/src/scistudio/blocks/process/utils.py +26 -0
- scistudio-0.3.4a32/src/scistudio/blocks/registry/__init__.py +845 -0
- scistudio-0.3.4a32/src/scistudio/blocks/registry/_capability.py +634 -0
- scistudio-0.3.4a32/src/scistudio/blocks/registry/_scan.py +632 -0
- scistudio-0.3.4a32/src/scistudio/blocks/registry/_spec.py +415 -0
- scistudio-0.3.4a32/src/scistudio/blocks/subworkflow/__init__.py +10 -0
- scistudio-0.3.4a32/src/scistudio/blocks/subworkflow/subworkflow_block.py +185 -0
- scistudio-0.3.4a32/src/scistudio/cli/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/cli/_scaffold.py +126 -0
- scistudio-0.3.4a32/src/scistudio/cli/install.py +1070 -0
- scistudio-0.3.4a32/src/scistudio/cli/main.py +557 -0
- scistudio-0.3.4a32/src/scistudio/cli/mcp_bridge.py +339 -0
- scistudio-0.3.4a32/src/scistudio/cli/storage.py +136 -0
- scistudio-0.3.4a32/src/scistudio/cli/templates/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/cli/templates/block_package/README.md.tpl +53 -0
- scistudio-0.3.4a32/src/scistudio/cli/templates/block_package/__init__.py.tpl +30 -0
- scistudio-0.3.4a32/src/scistudio/cli/templates/block_package/blocks.py.tpl +70 -0
- scistudio-0.3.4a32/src/scistudio/cli/templates/block_package/pyproject.toml.tpl +29 -0
- scistudio-0.3.4a32/src/scistudio/cli/templates/block_package/test_block.py.tpl +51 -0
- scistudio-0.3.4a32/src/scistudio/core/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/core/dropins.py +993 -0
- scistudio-0.3.4a32/src/scistudio/core/entry_points.py +504 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/__init__.py +53 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/environment.py +153 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/methods_export.py +282 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/record.py +143 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/recorder.py +542 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/restore_preflight.py +276 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/retention.py +320 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/run_context.py +68 -0
- scistudio-0.3.4a32/src/scistudio/core/lineage/store.py +1203 -0
- scistudio-0.3.4a32/src/scistudio/core/meta/__init__.py +29 -0
- scistudio-0.3.4a32/src/scistudio/core/meta/_display_name.py +140 -0
- scistudio-0.3.4a32/src/scistudio/core/meta/_with_meta.py +52 -0
- scistudio-0.3.4a32/src/scistudio/core/meta/channel.py +47 -0
- scistudio-0.3.4a32/src/scistudio/core/meta/framework.py +147 -0
- scistudio-0.3.4a32/src/scistudio/core/metadata_store.py +441 -0
- scistudio-0.3.4a32/src/scistudio/core/origins.py +250 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/__init__.py +25 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/arrow_backend.py +182 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/backend_router.py +152 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/base.py +109 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/composite_store.py +325 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/errors.py +138 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/filesystem.py +211 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/flush_context.py +26 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/ref.py +39 -0
- scistudio-0.3.4a32/src/scistudio/core/storage/zarr_backend.py +205 -0
- scistudio-0.3.4a32/src/scistudio/core/types/__init__.py +68 -0
- scistudio-0.3.4a32/src/scistudio/core/types/_backend_defaults.py +56 -0
- scistudio-0.3.4a32/src/scistudio/core/types/_templates/__init__.py +14 -0
- scistudio-0.3.4a32/src/scistudio/core/types/_templates/type_base_template.py +128 -0
- scistudio-0.3.4a32/src/scistudio/core/types/array.py +514 -0
- scistudio-0.3.4a32/src/scistudio/core/types/artifact.py +164 -0
- scistudio-0.3.4a32/src/scistudio/core/types/base.py +690 -0
- scistudio-0.3.4a32/src/scistudio/core/types/collection.py +150 -0
- scistudio-0.3.4a32/src/scistudio/core/types/composite.py +207 -0
- scistudio-0.3.4a32/src/scistudio/core/types/dataframe.py +184 -0
- scistudio-0.3.4a32/src/scistudio/core/types/registry.py +951 -0
- scistudio-0.3.4a32/src/scistudio/core/types/serialization.py +382 -0
- scistudio-0.3.4a32/src/scistudio/core/types/series.py +199 -0
- scistudio-0.3.4a32/src/scistudio/core/types/text.py +155 -0
- scistudio-0.3.4a32/src/scistudio/core/units.py +213 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/__init__.py +45 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/_branch_ops.py +198 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/_commit_ops.py +114 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/_history_ops.py +230 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/_merge_ops.py +242 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/_status_ops.py +123 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/errors.py +36 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/git_binary.py +204 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/git_engine.py +251 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/gitignore_template.py +78 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/state.py +24 -0
- scistudio-0.3.4a32/src/scistudio/core/versioning/status.py +42 -0
- scistudio-0.3.4a32/src/scistudio/desktop/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/desktop/package_installer.py +630 -0
- scistudio-0.3.4a32/src/scistudio/desktop/package_manager.py +527 -0
- scistudio-0.3.4a32/src/scistudio/desktop/package_ota.py +177 -0
- scistudio-0.3.4a32/src/scistudio/desktop/parent_watchdog.py +98 -0
- scistudio-0.3.4a32/src/scistudio/desktop/paths.py +592 -0
- scistudio-0.3.4a32/src/scistudio/engine/__init__.py +2 -0
- scistudio-0.3.4a32/src/scistudio/engine/checkpoint.py +381 -0
- scistudio-0.3.4a32/src/scistudio/engine/dag.py +193 -0
- scistudio-0.3.4a32/src/scistudio/engine/event_logger.py +129 -0
- scistudio-0.3.4a32/src/scistudio/engine/events.py +146 -0
- scistudio-0.3.4a32/src/scistudio/engine/lineage_recorder.py +22 -0
- scistudio-0.3.4a32/src/scistudio/engine/materialisation.py +12 -0
- scistudio-0.3.4a32/src/scistudio/engine/pty_control.py +335 -0
- scistudio-0.3.4a32/src/scistudio/engine/resources.py +284 -0
- scistudio-0.3.4a32/src/scistudio/engine/run_logging.py +110 -0
- scistudio-0.3.4a32/src/scistudio/engine/runners/__init__.py +26 -0
- scistudio-0.3.4a32/src/scistudio/engine/runners/base.py +90 -0
- scistudio-0.3.4a32/src/scistudio/engine/runners/exit_info.py +32 -0
- scistudio-0.3.4a32/src/scistudio/engine/runners/local.py +563 -0
- scistudio-0.3.4a32/src/scistudio/engine/runners/platform.py +583 -0
- scistudio-0.3.4a32/src/scistudio/engine/runners/process_handle.py +394 -0
- scistudio-0.3.4a32/src/scistudio/engine/runners/terminal_state.py +38 -0
- scistudio-0.3.4a32/src/scistudio/engine/runners/worker.py +683 -0
- scistudio-0.3.4a32/src/scistudio/engine/scheduler/__init__.py +555 -0
- scistudio-0.3.4a32/src/scistudio/engine/scheduler/_dispatch.py +743 -0
- scistudio-0.3.4a32/src/scistudio/engine/scheduler/_events.py +333 -0
- scistudio-0.3.4a32/src/scistudio/engine/scheduler/_helpers.py +68 -0
- scistudio-0.3.4a32/src/scistudio/engine/scheduler/_lineage.py +378 -0
- scistudio-0.3.4a32/src/scistudio/engine/scheduler/_rerun.py +169 -0
- scistudio-0.3.4a32/src/scistudio/engine/scheduler/_state.py +73 -0
- scistudio-0.3.4a32/src/scistudio/plot/__init__.py +109 -0
- scistudio-0.3.4a32/src/scistudio/plot/_context.py +146 -0
- scistudio-0.3.4a32/src/scistudio/plot/_harness.py +961 -0
- scistudio-0.3.4a32/src/scistudio/plot/examples.py +145 -0
- scistudio-0.3.4a32/src/scistudio/plot/models.py +576 -0
- scistudio-0.3.4a32/src/scistudio/plot/relink.py +123 -0
- scistudio-0.3.4a32/src/scistudio/plot/runtime.py +958 -0
- scistudio-0.3.4a32/src/scistudio/plot/scaffold.py +388 -0
- scistudio-0.3.4a32/src/scistudio/plot/targets.py +285 -0
- scistudio-0.3.4a32/src/scistudio/plot/validation.py +411 -0
- scistudio-0.3.4a32/src/scistudio/previewers/__init__.py +198 -0
- scistudio-0.3.4a32/src/scistudio/previewers/_raster.py +101 -0
- scistudio-0.3.4a32/src/scistudio/previewers/_table_cache.py +127 -0
- scistudio-0.3.4a32/src/scistudio/previewers/assets.py +161 -0
- scistudio-0.3.4a32/src/scistudio/previewers/choices.py +149 -0
- scistudio-0.3.4a32/src/scistudio/previewers/data_access.py +1023 -0
- scistudio-0.3.4a32/src/scistudio/previewers/fallbacks.py +688 -0
- scistudio-0.3.4a32/src/scistudio/previewers/helpers.py +67 -0
- scistudio-0.3.4a32/src/scistudio/previewers/models.py +895 -0
- scistudio-0.3.4a32/src/scistudio/previewers/open_as.py +138 -0
- scistudio-0.3.4a32/src/scistudio/previewers/project.py +233 -0
- scistudio-0.3.4a32/src/scistudio/previewers/registry.py +350 -0
- scistudio-0.3.4a32/src/scistudio/previewers/router.py +283 -0
- scistudio-0.3.4a32/src/scistudio/previewers/session.py +838 -0
- scistudio-0.3.4a32/src/scistudio/qa/__init__.py +5 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/__init__.py +5 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/_util.py +331 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/architecture_drift.py +619 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/closure.py +163 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/developer_docs.py +207 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/doc_drift.py +277 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/fact_drift.py +73 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/facts.py +203 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/frontmatter_lint.py +343 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/full_audit.py +337 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/governed.py +87 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/griffe_facts.py +158 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/loaders.py +78 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/planned_governance.py +92 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/signature_contracts.py +441 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/signature_drift.py +368 -0
- scistudio-0.3.4a32/src/scistudio/qa/audit/vulture_audit.py +287 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/__init__.py +37 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/__init__.py +100 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/__main__.py +15 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/checks.py +824 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/cli.py +215 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/evaluator.py +1343 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/__init__.py +53 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/_authorization.py +117 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/_base.py +75 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/_stub.py +36 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/architecture_doc_guard.py +53 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/core_change_guard.py +48 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/docs_landing.py +72 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/human_bypass_guard.py +176 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/issue_link.py +95 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/mod_guard.py +84 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/persona_policy.py +150 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/pr_merge_guard.py +70 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/sentrux_gate.py +273 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/test_engineer_scope_guard.py +109 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/guards/weakened_ci_check.py +247 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/instructions.py +135 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/io.py +593 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/labels.py +50 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/ledger.py +402 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/parity.py +531 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/surfaces.py +321 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/gate_record/workflow.py +640 -0
- scistudio-0.3.4a32/src/scistudio/qa/governance/worktree_write_guard.py +272 -0
- scistudio-0.3.4a32/src/scistudio/qa/schemas/__init__.py +32 -0
- scistudio-0.3.4a32/src/scistudio/qa/schemas/facts.py +69 -0
- scistudio-0.3.4a32/src/scistudio/qa/schemas/frontmatter.py +212 -0
- scistudio-0.3.4a32/src/scistudio/qa/schemas/maintainers.py +47 -0
- scistudio-0.3.4a32/src/scistudio/qa/schemas/report.py +113 -0
- scistudio-0.3.4a32/src/scistudio/qa/schemas/signatures.py +93 -0
- scistudio-0.3.4a32/src/scistudio/qa/testing/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/qa/testing/run_python_tests.py +83 -0
- scistudio-0.3.4a32/src/scistudio/stability/__init__.py +151 -0
- scistudio-0.3.4a32/src/scistudio/testing/__init__.py +23 -0
- scistudio-0.3.4a32/src/scistudio/testing/harness.py +267 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/__init__.py +105 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/actions.py +977 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/conditions.py +1170 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/welcome-to-scistudio/assets/code/normalize_fluorescence.py +107 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/welcome-to-scistudio/assets/code/normalize_fluorescence_renamed.py +108 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/welcome-to-scistudio/assets/code/normalized_activity_render.py +57 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/welcome-to-scistudio/assets/data/cell_viability_fluorescence.csv +13 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/welcome-to-scistudio/tutorial.yaml +550 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/code/fit_ic50.py +221 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/code/ic50_curve_plot.yaml +19 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/code/ic50_curve_render.py +89 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/code/plate_raw_plot.yaml +18 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/code/plate_raw_render.py +88 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/code/qc_outlier_filter.py +142 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/code/qc_outlier_filter_broken.py +142 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/code/tutorial_ai_agent.py +143 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/data/drug_A-J_1mM_500uM_200uM_100uM_50uM_20uM_10uM_5uM_2uM_1uM_plus_VEH_BLANK.csv +97 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/.gitattributes +6 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/01-what-is-scistudio.txt +27 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/02-list-blocks.txt +19 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/03-see-the-plate.txt +29 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/04-read-the-plate.txt +25 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/05-qc-block.txt +21 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/06-assemble.txt +20 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/07-no-x-axis.txt +23 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/08-ai-block.txt +19 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/09-ai-block-run.txt +24 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/10-the-curve.txt +23 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/log/01-what-is-scistudio.txt +27 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/log/02-list-blocks.txt +19 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/log/04-read-the-plate.txt +25 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/log/07-no-x-axis.txt +23 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/replay/log/09-ai-block-run.txt +24 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/workflows/load-only.yaml +27 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/workflows/main-with-ai.yaml +80 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/assets/workflows/main.yaml +55 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-ai-can-do/tutorial.yaml +498 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/code/cell_size_histogram/plot.yaml +17 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/code/cell_size_histogram/render.py +38 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/code/image.py +43 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/code/image_preview.py +258 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/code/load_tiff_image.py +137 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/code/review_labels.py +232 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/code/segment_cells.py +228 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/data/cells_01.tif +0 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/data/cells_02.tif +0 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/panels/review_labels/panel.mjs +365 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/workflows/load-and-segment.yaml +44 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/assets/workflows/with-review.yaml +70 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/sources/cells_01_source.png +0 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/sources/cells_02_source.png +0 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/core/what-is-a-type/tutorial.yaml +809 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/discovery.py +903 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/driver.py +972 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/manifest.py +1575 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/progress.py +359 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/projects.py +431 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/schema/tutorial.schema.json +400 -0
- scistudio-0.3.4a32/src/scistudio/tutorials/session.py +1619 -0
- scistudio-0.3.4a32/src/scistudio/utils/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/utils/atomic_io.py +406 -0
- scistudio-0.3.4a32/src/scistudio/utils/axis_iter.py +434 -0
- scistudio-0.3.4a32/src/scistudio/utils/broadcast.py +130 -0
- scistudio-0.3.4a32/src/scistudio/utils/constraints.py +255 -0
- scistudio-0.3.4a32/src/scistudio/utils/event_logger.py +142 -0
- scistudio-0.3.4a32/src/scistudio/utils/fs.py +100 -0
- scistudio-0.3.4a32/src/scistudio/utils/hashing.py +66 -0
- scistudio-0.3.4a32/src/scistudio/utils/log_setup.py +371 -0
- scistudio-0.3.4a32/src/scistudio/utils/logging.py +76 -0
- scistudio-0.3.4a32/src/scistudio/utils/wrapping.py +15 -0
- scistudio-0.3.4a32/src/scistudio/version.py +226 -0
- scistudio-0.3.4a32/src/scistudio/workflow/__init__.py +1 -0
- scistudio-0.3.4a32/src/scistudio/workflow/definition.py +105 -0
- scistudio-0.3.4a32/src/scistudio/workflow/flatten.py +334 -0
- scistudio-0.3.4a32/src/scistudio/workflow/layout.py +19 -0
- scistudio-0.3.4a32/src/scistudio/workflow/schema.py +180 -0
- scistudio-0.3.4a32/src/scistudio/workflow/serializer.py +152 -0
- scistudio-0.3.4a32/src/scistudio/workflow/subworkflow_ports.py +221 -0
- scistudio-0.3.4a32/src/scistudio/workflow/validator.py +628 -0
- scistudio-0.3.4a32/src/scistudio.egg-info/PKG-INFO +189 -0
- scistudio-0.3.4a32/src/scistudio.egg-info/SOURCES.txt +2027 -0
- scistudio-0.3.4a32/src/scistudio.egg-info/dependency_links.txt +1 -0
- scistudio-0.3.4a32/src/scistudio.egg-info/entry_points.txt +2 -0
- scistudio-0.3.4a32/src/scistudio.egg-info/requires.txt +50 -0
- scistudio-0.3.4a32/src/scistudio.egg-info/top_level.txt +2 -0
- scistudio-0.3.4a32/tests/README.md +52 -0
- scistudio-0.3.4a32/tests/__init__.py +1 -0
- scistudio-0.3.4a32/tests/adr052_contract/__init__.py +13 -0
- scistudio-0.3.4a32/tests/adr052_contract/_spec_data.py +238 -0
- scistudio-0.3.4a32/tests/adr052_contract/conftest.py +48 -0
- scistudio-0.3.4a32/tests/adr052_contract/expected_surface.json +642 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_accessor_dataflow_guard.py +106 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_deprecations.py +72 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_ergonomic_accessors.py +90 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_no_internal_leak.py +67 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_plot_render_contract.py +254 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_reexports.py +60 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_signatures.py +136 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_stability_semantics.py +113 -0
- scistudio-0.3.4a32/tests/adr052_contract/test_surface_inventory.py +99 -0
- scistudio-0.3.4a32/tests/agent_provisioning/__init__.py +0 -0
- scistudio-0.3.4a32/tests/agent_provisioning/conftest.py +24 -0
- scistudio-0.3.4a32/tests/agent_provisioning/test_claude_agents_md.py +141 -0
- scistudio-0.3.4a32/tests/agent_provisioning/test_codex_config.py +502 -0
- scistudio-0.3.4a32/tests/agent_provisioning/test_docs.py +168 -0
- scistudio-0.3.4a32/tests/agent_provisioning/test_hooks.py +1106 -0
- scistudio-0.3.4a32/tests/agent_provisioning/test_lifecycle_integration.py +117 -0
- scistudio-0.3.4a32/tests/agent_provisioning/test_orchestrate.py +117 -0
- scistudio-0.3.4a32/tests/agent_provisioning/test_refresh.py +151 -0
- scistudio-0.3.4a32/tests/agent_provisioning/test_skills.py +78 -0
- scistudio-0.3.4a32/tests/ai/__init__.py +0 -0
- scistudio-0.3.4a32/tests/ai/agent/__init__.py +0 -0
- scistudio-0.3.4a32/tests/ai/agent/mcp/__init__.py +0 -0
- scistudio-0.3.4a32/tests/ai/agent/mcp/test_tools_inspection_surface.py +224 -0
- scistudio-0.3.4a32/tests/ai/agent/mcp/test_tools_workflow_surface.py +234 -0
- scistudio-0.3.4a32/tests/ai/agent/mcp/test_validate_workflow_warning_prefix.py +87 -0
- scistudio-0.3.4a32/tests/ai/agent/mcp/test_workflow_block_type_guard.py +185 -0
- scistudio-0.3.4a32/tests/ai/test_finish_ai_block.py +217 -0
- scistudio-0.3.4a32/tests/ai/test_finish_ai_block_skeleton.py +49 -0
- scistudio-0.3.4a32/tests/ai/test_live_findings_1994.py +346 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_active_workflow_context.py +114 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_agent_context.py +226 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_execution_tools.py +868 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_fastmcp.py +693 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_server_skeleton.py +379 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_server_stop.py +162 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_tools_authoring.py +186 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_tools_disk_integration.py +605 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_tools_inspection.py +375 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_tools_library.py +528 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_tools_plot.py +1346 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_tools_qa.py +183 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_tools_workflow.py +668 -0
- scistudio-0.3.4a32/tests/ai/test_mcp_workspace_tools.py +1211 -0
- scistudio-0.3.4a32/tests/ai/test_parsers.py +152 -0
- scistudio-0.3.4a32/tests/ai/test_provider_mcp_write_atomicity.py +403 -0
- scistudio-0.3.4a32/tests/ai/test_providers.py +322 -0
- scistudio-0.3.4a32/tests/ai/test_providers_registry.py +722 -0
- scistudio-0.3.4a32/tests/ai/test_scaffold_template_regression.py +48 -0
- scistudio-0.3.4a32/tests/ai/test_system_prompt.py +259 -0
- scistudio-0.3.4a32/tests/ai/test_terminal.py +188 -0
- scistudio-0.3.4a32/tests/ai/test_terminal_codex_overrides.py +55 -0
- scistudio-0.3.4a32/tests/ai/test_terminal_extra_env.py +171 -0
- scistudio-0.3.4a32/tests/ai/test_terminal_macos_smoke.py +99 -0
- scistudio-0.3.4a32/tests/ai/test_windows_executable_resolution.py +427 -0
- scistudio-0.3.4a32/tests/ai/test_work_import_brief.py +551 -0
- scistudio-0.3.4a32/tests/api/__init__.py +0 -0
- scistudio-0.3.4a32/tests/api/conftest.py +55 -0
- scistudio-0.3.4a32/tests/api/fake_guard.py +69 -0
- scistudio-0.3.4a32/tests/api/helpers.py +115 -0
- scistudio-0.3.4a32/tests/api/public_surface.snapshot.json +700 -0
- scistudio-0.3.4a32/tests/api/routes/__init__.py +0 -0
- scistudio-0.3.4a32/tests/api/routes/ai_pty/__init__.py +0 -0
- scistudio-0.3.4a32/tests/api/routes/ai_pty/test_engine.py +131 -0
- scistudio-0.3.4a32/tests/api/routes/ai_pty/test_internal_routes.py +78 -0
- scistudio-0.3.4a32/tests/api/routes/ai_pty/test_public_surface.py +291 -0
- scistudio-0.3.4a32/tests/api/routes/ai_pty/test_subscribers.py +98 -0
- scistudio-0.3.4a32/tests/api/routes/ai_pty/test_validation.py +44 -0
- scistudio-0.3.4a32/tests/api/routes/ai_pty/test_websocket.py +61 -0
- scistudio-0.3.4a32/tests/api/routes/test_workflow_watcher_fallback.py +168 -0
- scistudio-0.3.4a32/tests/api/seam_contract.py +234 -0
- scistudio-0.3.4a32/tests/api/test_accessor_dataflow_guard.py +114 -0
- scistudio-0.3.4a32/tests/api/test_agent_availability.py +1192 -0
- scistudio-0.3.4a32/tests/api/test_ai_active_context.py +66 -0
- scistudio-0.3.4a32/tests/api/test_ai_pty.py +392 -0
- scistudio-0.3.4a32/tests/api/test_ai_pty_audit_fixes.py +402 -0
- scistudio-0.3.4a32/tests/api/test_ai_pty_engine_spawn.py +566 -0
- scistudio-0.3.4a32/tests/api/test_api_docstrings_user_facing.py +51 -0
- scistudio-0.3.4a32/tests/api/test_app.py +262 -0
- scistudio-0.3.4a32/tests/api/test_block_origin_tiers.py +339 -0
- scistudio-0.3.4a32/tests/api/test_blocks.py +641 -0
- scistudio-0.3.4a32/tests/api/test_blocks_template.py +211 -0
- scistudio-0.3.4a32/tests/api/test_blocks_template_skeleton.py +69 -0
- scistudio-0.3.4a32/tests/api/test_data.py +364 -0
- scistudio-0.3.4a32/tests/api/test_data_open_as.py +362 -0
- scistudio-0.3.4a32/tests/api/test_data_register_path.py +112 -0
- scistudio-0.3.4a32/tests/api/test_deps.py +26 -0
- scistudio-0.3.4a32/tests/api/test_diagnostics_routes.py +119 -0
- scistudio-0.3.4a32/tests/api/test_ergonomic_accessors.py +139 -0
- scistudio-0.3.4a32/tests/api/test_file_endpoints.py +278 -0
- scistudio-0.3.4a32/tests/api/test_file_endpoints_skeleton.py +66 -0
- scistudio-0.3.4a32/tests/api/test_file_version_vector.py +158 -0
- scistudio-0.3.4a32/tests/api/test_filesystem.py +550 -0
- scistudio-0.3.4a32/tests/api/test_filesystem_browse.py +155 -0
- scistudio-0.3.4a32/tests/api/test_filesystem_dialog.py +146 -0
- scistudio-0.3.4a32/tests/api/test_git_endpoints.py +1080 -0
- scistudio-0.3.4a32/tests/api/test_identity_seam.py +557 -0
- scistudio-0.3.4a32/tests/api/test_interactive_panels.py +148 -0
- scistudio-0.3.4a32/tests/api/test_known_project_registry.py +200 -0
- scistudio-0.3.4a32/tests/api/test_legacy_endpoints_gone.py +49 -0
- scistudio-0.3.4a32/tests/api/test_lineage_set_pending_git_commit.py +125 -0
- scistudio-0.3.4a32/tests/api/test_lint_endpoint.py +116 -0
- scistudio-0.3.4a32/tests/api/test_logging_middleware.py +83 -0
- scistudio-0.3.4a32/tests/api/test_mcp_transport_publish.py +128 -0
- scistudio-0.3.4a32/tests/api/test_native_dialog.py +270 -0
- scistudio-0.3.4a32/tests/api/test_open_project_degraded_modes.py +132 -0
- scistudio-0.3.4a32/tests/api/test_packages.py +316 -0
- scistudio-0.3.4a32/tests/api/test_plot_preview_wiring.py +804 -0
- scistudio-0.3.4a32/tests/api/test_plot_render_contract.py +308 -0
- scistudio-0.3.4a32/tests/api/test_preview_plot_jobs.py +321 -0
- scistudio-0.3.4a32/tests/api/test_previewer_choice_routes.py +253 -0
- scistudio-0.3.4a32/tests/api/test_previewer_discovery.py +202 -0
- scistudio-0.3.4a32/tests/api/test_previewers.py +838 -0
- scistudio-0.3.4a32/tests/api/test_project_layout.py +108 -0
- scistudio-0.3.4a32/tests/api/test_projects.py +302 -0
- scistudio-0.3.4a32/tests/api/test_provider_discovery.py +442 -0
- scistudio-0.3.4a32/tests/api/test_provider_discovery_agreement.py +228 -0
- scistudio-0.3.4a32/tests/api/test_provider_propagation_chain.py +279 -0
- scistudio-0.3.4a32/tests/api/test_provider_registry_extensibility.py +298 -0
- scistudio-0.3.4a32/tests/api/test_public_surface.py +374 -0
- scistudio-0.3.4a32/tests/api/test_registry_provisioning_parity.py +702 -0
- scistudio-0.3.4a32/tests/api/test_registry_reload_symmetry.py +652 -0
- scistudio-0.3.4a32/tests/api/test_reload_on_save.py +225 -0
- scistudio-0.3.4a32/tests/api/test_root_path.py +540 -0
- scistudio-0.3.4a32/tests/api/test_runs_routes.py +504 -0
- scistudio-0.3.4a32/tests/api/test_runtime_active_workflow.py +65 -0
- scistudio-0.3.4a32/tests/api/test_runtime_artifact_retention.py +66 -0
- scistudio-0.3.4a32/tests/api/test_runtime_bounded_registries.py +184 -0
- scistudio-0.3.4a32/tests/api/test_runtime_import_surface.py +150 -0
- scistudio-0.3.4a32/tests/api/test_runtime_lineage_finalize_status.py +116 -0
- scistudio-0.3.4a32/tests/api/test_runtime_package_repair.py +109 -0
- scistudio-0.3.4a32/tests/api/test_runtime_rerun_parent_id.py +98 -0
- scistudio-0.3.4a32/tests/api/test_runtime_subworkflow_flatten.py +241 -0
- scistudio-0.3.4a32/tests/api/test_runtime_workflow_validation_gate.py +166 -0
- scistudio-0.3.4a32/tests/api/test_spa_fallback.py +81 -0
- scistudio-0.3.4a32/tests/api/test_spa_mount.py +165 -0
- scistudio-0.3.4a32/tests/api/test_sse.py +54 -0
- scistudio-0.3.4a32/tests/api/test_stability_decorators.py +132 -0
- scistudio-0.3.4a32/tests/api/test_system_vertical.py +236 -0
- scistudio-0.3.4a32/tests/api/test_tutorial_library_write.py +388 -0
- scistudio-0.3.4a32/tests/api/test_tutorial_package_lifecycle.py +156 -0
- scistudio-0.3.4a32/tests/api/test_tutorial_project_visibility.py +367 -0
- scistudio-0.3.4a32/tests/api/test_tutorial_replay.py +431 -0
- scistudio-0.3.4a32/tests/api/test_tutorial_routes.py +1422 -0
- scistudio-0.3.4a32/tests/api/test_types_routes.py +732 -0
- scistudio-0.3.4a32/tests/api/test_user_docs.py +241 -0
- scistudio-0.3.4a32/tests/api/test_user_library_write.py +748 -0
- scistudio-0.3.4a32/tests/api/test_webmcp.py +421 -0
- scistudio-0.3.4a32/tests/api/test_work_import_session.py +1032 -0
- scistudio-0.3.4a32/tests/api/test_workflow_changed_event_schema.py +45 -0
- scistudio-0.3.4a32/tests/api/test_workflow_id_conflict.py +83 -0
- scistudio-0.3.4a32/tests/api/test_workflow_management.py +109 -0
- scistudio-0.3.4a32/tests/api/test_workflow_run_git.py +287 -0
- scistudio-0.3.4a32/tests/api/test_workflow_version_vector.py +120 -0
- scistudio-0.3.4a32/tests/api/test_workflow_watcher.py +519 -0
- scistudio-0.3.4a32/tests/api/test_workflow_watcher_git.py +241 -0
- scistudio-0.3.4a32/tests/api/test_workflow_watcher_macos.py +90 -0
- scistudio-0.3.4a32/tests/api/test_workflows.py +471 -0
- scistudio-0.3.4a32/tests/api/test_ws.py +151 -0
- scistudio-0.3.4a32/tests/api/test_ws_git_events.py +71 -0
- scistudio-0.3.4a32/tests/architecture/__init__.py +1 -0
- scistudio-0.3.4a32/tests/architecture/test_adr_034_provider_single_source.py +459 -0
- scistudio-0.3.4a32/tests/architecture/test_block_system.py +164 -0
- scistudio-0.3.4a32/tests/architecture/test_layer_deps.py +211 -0
- scistudio-0.3.4a32/tests/architecture/test_no_new_cycles.py +179 -0
- scistudio-0.3.4a32/tests/architecture/test_packaging.py +63 -0
- scistudio-0.3.4a32/tests/architecture/test_placement.py +260 -0
- scistudio-0.3.4a32/tests/architecture/test_registries.py +159 -0
- scistudio-0.3.4a32/tests/architecture/test_type_system.py +194 -0
- scistudio-0.3.4a32/tests/blocks/__init__.py +1 -0
- scistudio-0.3.4a32/tests/blocks/ai/__init__.py +0 -0
- scistudio-0.3.4a32/tests/blocks/ai/conftest.py +221 -0
- scistudio-0.3.4a32/tests/blocks/ai/test_ai_block_skeleton.py +683 -0
- scistudio-0.3.4a32/tests/blocks/ai/test_completion_race.py +178 -0
- scistudio-0.3.4a32/tests/blocks/ai/test_completion_skeleton.py +280 -0
- scistudio-0.3.4a32/tests/blocks/ai/test_run_dir_skeleton.py +229 -0
- scistudio-0.3.4a32/tests/blocks/app/__init__.py +1 -0
- scistudio-0.3.4a32/tests/blocks/app/fixtures/headless_macro.ijm +39 -0
- scistudio-0.3.4a32/tests/blocks/app/test_app_block_capabilities.py +158 -0
- scistudio-0.3.4a32/tests/blocks/app/test_app_block_multi_item_input.py +286 -0
- scistudio-0.3.4a32/tests/blocks/app/test_appblock_bin_outputs.py +232 -0
- scistudio-0.3.4a32/tests/blocks/app/test_appblock_fiji_integration.py +257 -0
- scistudio-0.3.4a32/tests/blocks/app/test_bridge_argv_override.py +97 -0
- scistudio-0.3.4a32/tests/blocks/app/test_bridge_prepare_materialisation.py +203 -0
- scistudio-0.3.4a32/tests/blocks/code/__init__.py +1 -0
- scistudio-0.3.4a32/tests/blocks/code/test_alpha_codeblock_python.py +129 -0
- scistudio-0.3.4a32/tests/blocks/code/test_alpha_codeblock_r.py +83 -0
- scistudio-0.3.4a32/tests/blocks/code/test_alpha_findings_codeblock.py +62 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_backends.py +305 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_exchange.py +284 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_execution.py +348 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_interpreters.py +81 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_matlab.py +190 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_notebooks.py +263 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_provenance.py +98 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_python_integration.py +31 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_r_integration.py +29 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_r_quarto.py +220 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_shell.py +205 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_v2_config.py +73 -0
- scistudio-0.3.4a32/tests/blocks/code/test_codeblock_validation.py +239 -0
- scistudio-0.3.4a32/tests/blocks/io/__init__.py +1 -0
- scistudio-0.3.4a32/tests/blocks/io/conftest.py +64 -0
- scistudio-0.3.4a32/tests/blocks/io/test_alpha_findings.py +69 -0
- scistudio-0.3.4a32/tests/blocks/io/test_config_enrichment.py +95 -0
- scistudio-0.3.4a32/tests/blocks/io/test_format_capabilities.py +174 -0
- scistudio-0.3.4a32/tests/blocks/io/test_io_block_abc.py +274 -0
- scistudio-0.3.4a32/tests/blocks/io/test_io_coverage_matrix.py +339 -0
- scistudio-0.3.4a32/tests/blocks/io/test_io_data_helpers_layout.py +257 -0
- scistudio-0.3.4a32/tests/blocks/io/test_load_data.py +862 -0
- scistudio-0.3.4a32/tests/blocks/io/test_load_data_capabilities.py +513 -0
- scistudio-0.3.4a32/tests/blocks/io/test_loader_no_input_port.py +60 -0
- scistudio-0.3.4a32/tests/blocks/io/test_multi_path_delegated_load.py +214 -0
- scistudio-0.3.4a32/tests/blocks/io/test_save_data.py +1081 -0
- scistudio-0.3.4a32/tests/blocks/io/test_save_data_capabilities.py +548 -0
- scistudio-0.3.4a32/tests/blocks/io/test_save_data_durability.py +190 -0
- scistudio-0.3.4a32/tests/blocks/io/test_simple_io.py +136 -0
- scistudio-0.3.4a32/tests/blocks/io/test_unified_dispatch_effective_params.py +329 -0
- scistudio-0.3.4a32/tests/blocks/io/test_xlsx_io.py +204 -0
- scistudio-0.3.4a32/tests/blocks/process/__init__.py +0 -0
- scistudio-0.3.4a32/tests/blocks/process/builtins/__init__.py +0 -0
- scistudio-0.3.4a32/tests/blocks/test_app_block.py +1328 -0
- scistudio-0.3.4a32/tests/blocks/test_auto_flush_composite.py +81 -0
- scistudio-0.3.4a32/tests/blocks/test_block_base.py +652 -0
- scistudio-0.3.4a32/tests/blocks/test_block_config.py +67 -0
- scistudio-0.3.4a32/tests/blocks/test_block_config_schema.py +175 -0
- scistudio-0.3.4a32/tests/blocks/test_block_registry_capabilities.py +352 -0
- scistudio-0.3.4a32/tests/blocks/test_bridge_extended.py +168 -0
- scistudio-0.3.4a32/tests/blocks/test_code_block.py +78 -0
- scistudio-0.3.4a32/tests/blocks/test_collection_blocks.py +116 -0
- scistudio-0.3.4a32/tests/blocks/test_data_router.py +264 -0
- scistudio-0.3.4a32/tests/blocks/test_desktop_package_discovery.py +360 -0
- scistudio-0.3.4a32/tests/blocks/test_dropin_type_import.py +1194 -0
- scistudio-0.3.4a32/tests/blocks/test_dynamic_ports.py +355 -0
- scistudio-0.3.4a32/tests/blocks/test_entry_point_isolation.py +119 -0
- scistudio-0.3.4a32/tests/blocks/test_interactive_adversarial_registry.py +355 -0
- scistudio-0.3.4a32/tests/blocks/test_interactive_mixin.py +247 -0
- scistudio-0.3.4a32/tests/blocks/test_interactive_registry_validation.py +106 -0
- scistudio-0.3.4a32/tests/blocks/test_introspect.py +188 -0
- scistudio-0.3.4a32/tests/blocks/test_lazy_list.py +338 -0
- scistudio-0.3.4a32/tests/blocks/test_merge_split_extended.py +71 -0
- scistudio-0.3.4a32/tests/blocks/test_pair_editor.py +415 -0
- scistudio-0.3.4a32/tests/blocks/test_port_subclass.py +194 -0
- scistudio-0.3.4a32/tests/blocks/test_ports.py +360 -0
- scistudio-0.3.4a32/tests/blocks/test_process_block.py +234 -0
- scistudio-0.3.4a32/tests/blocks/test_process_block_lifecycle.py +337 -0
- scistudio-0.3.4a32/tests/blocks/test_process_utils.py +41 -0
- scistudio-0.3.4a32/tests/blocks/test_register_stub_removed.py +69 -0
- scistudio-0.3.4a32/tests/blocks/test_registry.py +1000 -0
- scistudio-0.3.4a32/tests/blocks/test_registry_package_layout.py +219 -0
- scistudio-0.3.4a32/tests/blocks/test_registry_version_strict.py +79 -0
- scistudio-0.3.4a32/tests/blocks/test_state_enums.py +46 -0
- scistudio-0.3.4a32/tests/blocks/test_subworkflow.py +106 -0
- scistudio-0.3.4a32/tests/blocks/test_tier1_dropin_subprocess.py +424 -0
- scistudio-0.3.4a32/tests/cli/__init__.py +0 -0
- scistudio-0.3.4a32/tests/cli/test_cli.py +273 -0
- scistudio-0.3.4a32/tests/cli/test_dunder_main.py +35 -0
- scistudio-0.3.4a32/tests/cli/test_init_git_init.py +58 -0
- scistudio-0.3.4a32/tests/cli/test_install.py +621 -0
- scistudio-0.3.4a32/tests/cli/test_mcp_bridge.py +328 -0
- scistudio-0.3.4a32/tests/cli/test_new_block_package.py +257 -0
- scistudio-0.3.4a32/tests/cli/test_storage_gc.py +157 -0
- scistudio-0.3.4a32/tests/cli/test_validation_warning_prefix.py +58 -0
- scistudio-0.3.4a32/tests/conftest.py +171 -0
- scistudio-0.3.4a32/tests/contract/test_adr045_version_vector_contract.py +222 -0
- scistudio-0.3.4a32/tests/contracts/openapi.json +8596 -0
- scistudio-0.3.4a32/tests/contracts/openapi_snapshot.py +109 -0
- scistudio-0.3.4a32/tests/contracts/test_block_schema_contract.py +170 -0
- scistudio-0.3.4a32/tests/contracts/test_eventbus_lifecycle_contract.py +292 -0
- scistudio-0.3.4a32/tests/contracts/test_io_capability_contract.py +267 -0
- scistudio-0.3.4a32/tests/contracts/test_lineage_run_recipe_contract.py +288 -0
- scistudio-0.3.4a32/tests/contracts/test_openapi_snapshot.py +92 -0
- scistudio-0.3.4a32/tests/contracts/test_runtime_import_contract.py +398 -0
- scistudio-0.3.4a32/tests/core/__init__.py +1 -0
- scistudio-0.3.4a32/tests/core/test_array_axes.py +379 -0
- scistudio-0.3.4a32/tests/core/test_backend_router.py +239 -0
- scistudio-0.3.4a32/tests/core/test_base_class_reconstruction_hooks.py +658 -0
- scistudio-0.3.4a32/tests/core/test_broadcast.py +202 -0
- scistudio-0.3.4a32/tests/core/test_collection.py +290 -0
- scistudio-0.3.4a32/tests/core/test_composite.py +216 -0
- scistudio-0.3.4a32/tests/core/test_data_object_persistence.py +206 -0
- scistudio-0.3.4a32/tests/core/test_dataobject_extended.py +192 -0
- scistudio-0.3.4a32/tests/core/test_display_name.py +130 -0
- scistudio-0.3.4a32/tests/core/test_flush_context.py +26 -0
- scistudio-0.3.4a32/tests/core/test_framework_meta.py +316 -0
- scistudio-0.3.4a32/tests/core/test_git_engine.py +1104 -0
- scistudio-0.3.4a32/tests/core/test_hashing.py +110 -0
- scistudio-0.3.4a32/tests/core/test_lineage.py +207 -0
- scistudio-0.3.4a32/tests/core/test_lineage_extended.py +79 -0
- scistudio-0.3.4a32/tests/core/test_lineage_retention.py +662 -0
- scistudio-0.3.4a32/tests/core/test_lineage_store.py +120 -0
- scistudio-0.3.4a32/tests/core/test_lineage_store_4table.py +206 -0
- scistudio-0.3.4a32/tests/core/test_lineage_store_integrity.py +240 -0
- scistudio-0.3.4a32/tests/core/test_meta_type_preservation_1607.py +50 -0
- scistudio-0.3.4a32/tests/core/test_metadata_store.py +358 -0
- scistudio-0.3.4a32/tests/core/test_methods_export.py +386 -0
- scistudio-0.3.4a32/tests/core/test_other_base_classes_audit.py +491 -0
- scistudio-0.3.4a32/tests/core/test_phase10_skeleton.py +84 -0
- scistudio-0.3.4a32/tests/core/test_serialization_roundtrip.py +348 -0
- scistudio-0.3.4a32/tests/core/test_storage.py +705 -0
- scistudio-0.3.4a32/tests/core/test_storage_edge_cases.py +45 -0
- scistudio-0.3.4a32/tests/core/test_storage_ref.py +30 -0
- scistudio-0.3.4a32/tests/core/test_stratified_metadata.py +316 -0
- scistudio-0.3.4a32/tests/core/test_transient_data.py +285 -0
- scistudio-0.3.4a32/tests/core/test_type_colour.py +276 -0
- scistudio-0.3.4a32/tests/core/test_type_registry_resolve_and_meta.py +311 -0
- scistudio-0.3.4a32/tests/core/test_type_registry_scan_dirs.py +495 -0
- scistudio-0.3.4a32/tests/core/test_types.py +808 -0
- scistudio-0.3.4a32/tests/core/test_units.py +240 -0
- scistudio-0.3.4a32/tests/core/versioning/__init__.py +1 -0
- scistudio-0.3.4a32/tests/core/versioning/test_git_engine_package_layout.py +51 -0
- scistudio-0.3.4a32/tests/desktop/test_package_installer.py +515 -0
- scistudio-0.3.4a32/tests/desktop/test_package_manager.py +455 -0
- scistudio-0.3.4a32/tests/desktop/test_package_ota.py +137 -0
- scistudio-0.3.4a32/tests/desktop/test_parent_watchdog.py +88 -0
- scistudio-0.3.4a32/tests/desktop/test_source_package_discovery.py +177 -0
- scistudio-0.3.4a32/tests/desktop/test_terminal_post_rc.py +100 -0
- scistudio-0.3.4a32/tests/docs/__init__.py +0 -0
- scistudio-0.3.4a32/tests/docs/test_block_development_docs.py +288 -0
- scistudio-0.3.4a32/tests/e2e/__init__.py +1 -0
- scistudio-0.3.4a32/tests/e2e/adr-035/.gitignore +2 -0
- scistudio-0.3.4a32/tests/e2e/adr-035/expected_metadata.csv +5 -0
- scistudio-0.3.4a32/tests/e2e/adr-035/generate_fixtures.py +71 -0
- scistudio-0.3.4a32/tests/e2e/conftest.py +65 -0
- scistudio-0.3.4a32/tests/e2e/harness.py +320 -0
- scistudio-0.3.4a32/tests/e2e/test_tutorial_workflows.py +277 -0
- scistudio-0.3.4a32/tests/engine/__init__.py +1 -0
- scistudio-0.3.4a32/tests/engine/test_checkpoint.py +524 -0
- scistudio-0.3.4a32/tests/engine/test_checkpoint_durability.py +79 -0
- scistudio-0.3.4a32/tests/engine/test_collection_wrap.py +222 -0
- scistudio-0.3.4a32/tests/engine/test_dag.py +356 -0
- scistudio-0.3.4a32/tests/engine/test_event_logger.py +189 -0
- scistudio-0.3.4a32/tests/engine/test_events.py +254 -0
- scistudio-0.3.4a32/tests/engine/test_gather_inputs.py +81 -0
- scistudio-0.3.4a32/tests/engine/test_interactive_adversarial_e2e.py +463 -0
- scistudio-0.3.4a32/tests/engine/test_interactive_adversarial_timing.py +571 -0
- scistudio-0.3.4a32/tests/engine/test_interactive_cancellation.py +109 -0
- scistudio-0.3.4a32/tests/engine/test_interactive_lineage.py +179 -0
- scistudio-0.3.4a32/tests/engine/test_interactive_run_scoping.py +84 -0
- scistudio-0.3.4a32/tests/engine/test_interactive_system_smoke.py +408 -0
- scistudio-0.3.4a32/tests/engine/test_interactive_two_phase.py +128 -0
- scistudio-0.3.4a32/tests/engine/test_lineage_data_objects_propagation.py +321 -0
- scistudio-0.3.4a32/tests/engine/test_lineage_recorder.py +411 -0
- scistudio-0.3.4a32/tests/engine/test_local_runner.py +825 -0
- scistudio-0.3.4a32/tests/engine/test_materialisation.py +300 -0
- scistudio-0.3.4a32/tests/engine/test_materialisation_capabilities.py +172 -0
- scistudio-0.3.4a32/tests/engine/test_platform_ops.py +39 -0
- scistudio-0.3.4a32/tests/engine/test_process_handle.py +674 -0
- scistudio-0.3.4a32/tests/engine/test_pty_control.py +285 -0
- scistudio-0.3.4a32/tests/engine/test_pty_control_skeleton.py +41 -0
- scistudio-0.3.4a32/tests/engine/test_resource_manager_gpu_autodetect.py +319 -0
- scistudio-0.3.4a32/tests/engine/test_resources.py +431 -0
- scistudio-0.3.4a32/tests/engine/test_run_logging.py +73 -0
- scistudio-0.3.4a32/tests/engine/test_scheduler.py +1279 -0
- scistudio-0.3.4a32/tests/engine/test_scheduler_concurrency.py +507 -0
- scistudio-0.3.4a32/tests/engine/test_scheduler_interactive.py +252 -0
- scistudio-0.3.4a32/tests/engine/test_scheduler_package_layout.py +87 -0
- scistudio-0.3.4a32/tests/engine/test_scheduler_rerun_cancel.py +282 -0
- scistudio-0.3.4a32/tests/engine/test_scheduler_state_machine_contract.py +286 -0
- scistudio-0.3.4a32/tests/engine/test_scheduler_terminal_data.py +249 -0
- scistudio-0.3.4a32/tests/engine/test_single_value_collection_consumers.py +107 -0
- scistudio-0.3.4a32/tests/engine/test_single_value_collection_contract.py +290 -0
- scistudio-0.3.4a32/tests/engine/test_worker.py +564 -0
- scistudio-0.3.4a32/tests/engine/test_worker_block_config.py +68 -0
- scistudio-0.3.4a32/tests/engine/test_worker_reconstruction_scan_dirs.py +404 -0
- scistudio-0.3.4a32/tests/engine/test_worker_typed_reconstruction.py +850 -0
- scistudio-0.3.4a32/tests/fixtures/__init__.py +7 -0
- scistudio-0.3.4a32/tests/fixtures/interactive_adversarial_blocks.py +303 -0
- scistudio-0.3.4a32/tests/fixtures/interactive_blocks.py +209 -0
- scistudio-0.3.4a32/tests/fixtures/noop_block.py +69 -0
- scistudio-0.3.4a32/tests/fixtures/noop_io_block.py +75 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/README.md +33 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/pyproject.toml +37 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/src/scistudio_blocks_fixture/__init__.py +71 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/src/scistudio_blocks_fixture/io/__init__.py +8 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/src/scistudio_blocks_fixture/io/load_image.py +121 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/src/scistudio_blocks_fixture/io/save_data.py +121 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/src/scistudio_blocks_fixture/previewers/__init__.py +147 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/src/scistudio_blocks_fixture/previewers/assets/viewer.js +18 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/src/scistudio_blocks_fixture/process_noop.py +37 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/src/scistudio_blocks_fixture/types.py +105 -0
- scistudio-0.3.4a32/tests/fixtures/scistudio-blocks-fixture/tests/test_fixture_sanity.py +32 -0
- scistudio-0.3.4a32/tests/fixtures/test_images.py +26 -0
- scistudio-0.3.4a32/tests/fixtures/test_noop_block.py +61 -0
- scistudio-0.3.4a32/tests/helpers.py +47 -0
- scistudio-0.3.4a32/tests/integration/__init__.py +1 -0
- scistudio-0.3.4a32/tests/integration/conftest.py +51 -0
- scistudio-0.3.4a32/tests/integration/test_block_sdk_e2e.py +636 -0
- scistudio-0.3.4a32/tests/integration/test_cancel_scenario.py +313 -0
- scistudio-0.3.4a32/tests/integration/test_multimodal_workflow.py +398 -0
- scistudio-0.3.4a32/tests/integration/test_phase2_mcp_end_to_end.py +164 -0
- scistudio-0.3.4a32/tests/integration/test_race_agent_write.py +87 -0
- scistudio-0.3.4a32/tests/integration/test_race_autosave.py +49 -0
- scistudio-0.3.4a32/tests/integration/test_race_external_editor.py +114 -0
- scistudio-0.3.4a32/tests/integration/test_race_lineage_restore.py +148 -0
- scistudio-0.3.4a32/tests/integration/test_race_multi_session.py +44 -0
- scistudio-0.3.4a32/tests/integration/test_smoke_workflows.py +239 -0
- scistudio-0.3.4a32/tests/integration/test_subworkflow_lineage.py +143 -0
- scistudio-0.3.4a32/tests/packages/__init__.py +1 -0
- scistudio-0.3.4a32/tests/packages/test_entry_point_symmetry.py +650 -0
- scistudio-0.3.4a32/tests/packaging/test_desktop_mvp_resources.py +301 -0
- scistudio-0.3.4a32/tests/packaging/test_desktop_runtime_build_auth.py +112 -0
- scistudio-0.3.4a32/tests/packaging/test_license_alignment.py +76 -0
- scistudio-0.3.4a32/tests/packaging/test_no_alpha_gate.py +55 -0
- scistudio-0.3.4a32/tests/packaging/test_version_alignment.py +100 -0
- scistudio-0.3.4a32/tests/packaging/test_wheel_skills.py +207 -0
- scistudio-0.3.4a32/tests/packaging/test_wheel_spa.py +148 -0
- scistudio-0.3.4a32/tests/previewers/__init__.py +1 -0
- scistudio-0.3.4a32/tests/previewers/test_fallback_array.py +144 -0
- scistudio-0.3.4a32/tests/previewers/test_preview_data_access.py +438 -0
- scistudio-0.3.4a32/tests/previewers/test_preview_registry.py +206 -0
- scistudio-0.3.4a32/tests/previewers/test_preview_routing.py +281 -0
- scistudio-0.3.4a32/tests/previewers/test_preview_security.py +93 -0
- scistudio-0.3.4a32/tests/previewers/test_preview_session_cache_key.py +78 -0
- scistudio-0.3.4a32/tests/previewers/test_preview_session_exports.py +123 -0
- scistudio-0.3.4a32/tests/previewers/test_preview_session_manifest.py +119 -0
- scistudio-0.3.4a32/tests/previewers/test_preview_session_package_imports.py +131 -0
- scistudio-0.3.4a32/tests/previewers/test_previewer_choice.py +303 -0
- scistudio-0.3.4a32/tests/previewers/test_previewer_dropins.py +444 -0
- scistudio-0.3.4a32/tests/previewers/test_table_cache_surface.py +61 -0
- scistudio-0.3.4a32/tests/qa/conftest.py +34 -0
- scistudio-0.3.4a32/tests/qa/governance/test_gate_record_package.py +316 -0
- scistudio-0.3.4a32/tests/qa/test_architecture_drift.py +149 -0
- scistudio-0.3.4a32/tests/qa/test_audit_closure.py +339 -0
- scistudio-0.3.4a32/tests/qa/test_audit_doc_drift.py +453 -0
- scistudio-0.3.4a32/tests/qa/test_audit_fact_drift.py +42 -0
- scistudio-0.3.4a32/tests/qa/test_audit_frontmatter_lint.py +450 -0
- scistudio-0.3.4a32/tests/qa/test_audit_full_audit.py +69 -0
- scistudio-0.3.4a32/tests/qa/test_audit_signature_contracts.py +120 -0
- scistudio-0.3.4a32/tests/qa/test_audit_signature_drift.py +132 -0
- scistudio-0.3.4a32/tests/qa/test_audit_vulture.py +259 -0
- scistudio-0.3.4a32/tests/qa/test_commit_msg_hook_wiring.py +49 -0
- scistudio-0.3.4a32/tests/qa/test_gate_commit_checks.py +154 -0
- scistudio-0.3.4a32/tests/qa/test_gate_evaluator.py +1444 -0
- scistudio-0.3.4a32/tests/qa/test_gate_incremental_checks.py +448 -0
- scistudio-0.3.4a32/tests/qa/test_gate_ledger.py +140 -0
- scistudio-0.3.4a32/tests/qa/test_gate_parity_provision.py +306 -0
- scistudio-0.3.4a32/tests/qa/test_gate_record.py +1158 -0
- scistudio-0.3.4a32/tests/qa/test_gate_record_bugfixes.py +989 -0
- scistudio-0.3.4a32/tests/qa/test_gate_record_ci.py +229 -0
- scistudio-0.3.4a32/tests/qa/test_gate_record_hooks.py +384 -0
- scistudio-0.3.4a32/tests/qa/test_generate_facts_cli.py +78 -0
- scistudio-0.3.4a32/tests/qa/test_governance_paths.py +131 -0
- scistudio-0.3.4a32/tests/qa/test_griffe_facts.py +60 -0
- scistudio-0.3.4a32/tests/qa/test_guard_calculators.py +799 -0
- scistudio-0.3.4a32/tests/qa/test_parity_venv_pins.py +93 -0
- scistudio-0.3.4a32/tests/qa/test_schemas_maintainers.py +17 -0
- scistudio-0.3.4a32/tests/qa/test_schemas_report.py +65 -0
- scistudio-0.3.4a32/tests/qa/test_schemas_signatures.py +66 -0
- scistudio-0.3.4a32/tests/qa/test_workflow_expressions.py +182 -0
- scistudio-0.3.4a32/tests/qa/test_worktree_write_guard.py +133 -0
- scistudio-0.3.4a32/tests/qa/testing/test_run_python_tests.py +109 -0
- scistudio-0.3.4a32/tests/scripts/__init__.py +0 -0
- scistudio-0.3.4a32/tests/scripts/test_deferral_scan.py +171 -0
- scistudio-0.3.4a32/tests/scripts/test_ota_publish.py +956 -0
- scistudio-0.3.4a32/tests/scripts/test_scistudio_pr_create.py +272 -0
- scistudio-0.3.4a32/tests/stability/__init__.py +0 -0
- scistudio-0.3.4a32/tests/stability/test_stability.py +142 -0
- scistudio-0.3.4a32/tests/test_import_coverage.py +201 -0
- scistudio-0.3.4a32/tests/test_logging_config.py +71 -0
- scistudio-0.3.4a32/tests/test_version.py +93 -0
- scistudio-0.3.4a32/tests/testing/__init__.py +0 -0
- scistudio-0.3.4a32/tests/testing/test_harness.py +312 -0
- scistudio-0.3.4a32/tests/tutorials/__init__.py +0 -0
- scistudio-0.3.4a32/tests/tutorials/conftest.py +188 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/driver-declared/tutorial.yaml +20 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/full-vocabulary/assets/code/constants.py +1 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/full-vocabulary/assets/data/sample.csv +3 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/full-vocabulary/assets/pages/intro.md +1 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/full-vocabulary/assets/replay/segment-one.txt +1 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/full-vocabulary/assets/replay/segment-two.txt +1 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/full-vocabulary/tutorial.yaml +231 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/future-manifest-version/tutorial.yaml +21 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/malformed-manifest/tutorial.yaml +18 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/minimal-core/assets/data/cells.csv +2 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/minimal-core/tutorial.yaml +26 -0
- scistudio-0.3.4a32/tests/tutorials/fixtures/unmet-requirements/tutorial.yaml +23 -0
- scistudio-0.3.4a32/tests/tutorials/test_actions.py +264 -0
- scistudio-0.3.4a32/tests/tutorials/test_condition_events.py +513 -0
- scistudio-0.3.4a32/tests/tutorials/test_conditions.py +959 -0
- scistudio-0.3.4a32/tests/tutorials/test_core_tutorial_what_is_a_type.py +1540 -0
- scistudio-0.3.4a32/tests/tutorials/test_core_tutorials.py +754 -0
- scistudio-0.3.4a32/tests/tutorials/test_discovery_no_import.py +235 -0
- scistudio-0.3.4a32/tests/tutorials/test_discovery_tiers.py +713 -0
- scistudio-0.3.4a32/tests/tutorials/test_driver_parity.py +643 -0
- scistudio-0.3.4a32/tests/tutorials/test_manifest_schema.py +1417 -0
- scistudio-0.3.4a32/tests/tutorials/test_progress.py +347 -0
- scistudio-0.3.4a32/tests/tutorials/test_public_authoring_surface.py +201 -0
- scistudio-0.3.4a32/tests/tutorials/test_replay.py +576 -0
- scistudio-0.3.4a32/tests/tutorials/test_scoped_library.py +383 -0
- scistudio-0.3.4a32/tests/tutorials/test_session_back.py +337 -0
- scistudio-0.3.4a32/tests/tutorials/test_session_lifecycle.py +1608 -0
- scistudio-0.3.4a32/tests/tutorials/test_tier_asset_rules.py +308 -0
- scistudio-0.3.4a32/tests/utils/__init__.py +0 -0
- scistudio-0.3.4a32/tests/utils/test_atomic_io.py +343 -0
- scistudio-0.3.4a32/tests/utils/test_axis_iter.py +425 -0
- scistudio-0.3.4a32/tests/utils/test_constraints.py +334 -0
- scistudio-0.3.4a32/tests/utils/test_fs.py +116 -0
- scistudio-0.3.4a32/tests/utils/test_log_setup.py +169 -0
- scistudio-0.3.4a32/tests/utils/test_logging.py +89 -0
- scistudio-0.3.4a32/tests/workflow/__init__.py +0 -0
- scistudio-0.3.4a32/tests/workflow/test_flatten_subworkflows.py +433 -0
- scistudio-0.3.4a32/tests/workflow/test_io_boundary_validation.py +244 -0
- scistudio-0.3.4a32/tests/workflow/test_path_portability.py +166 -0
- scistudio-0.3.4a32/tests/workflow/test_serializer.py +172 -0
- scistudio-0.3.4a32/tests/workflow/test_serializer_durability.py +62 -0
- scistudio-0.3.4a32/tests/workflow/test_serializer_property.py +48 -0
- scistudio-0.3.4a32/tests/workflow/test_subworkflow_ports.py +222 -0
- scistudio-0.3.4a32/tests/workflow/test_subworkflow_yaml_roundtrip.py +103 -0
- scistudio-0.3.4a32/tests/workflow/test_validator.py +864 -0
- scistudio-0.3.4a32/tests/workflow/test_validator_codeblock_v2.py +278 -0
- scistudio-0.3.4a32/tests/workflow/test_validator_dynamic_ports.py +232 -0
- scistudio-0.3.4a32/vulture_allowlist.py +42 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# SciStudio AI Rules Index
|
|
2
|
+
|
|
3
|
+
This file is a pointer only. It is not an independent policy source.
|
|
4
|
+
|
|
5
|
+
- Use `AGENTS.md` for root repository policy.
|
|
6
|
+
|
|
7
|
+
- Use `docs/ai-developer/rules.md` for rules every AI persona must follow.
|
|
8
|
+
|
|
9
|
+
- Use `docs/ai-developer/rules.md#5-gate-cli-command-set` for the canonical
|
|
10
|
+
AI-facing gate record and local receipt commands.
|
|
11
|
+
|
|
12
|
+
- Use `docs/ai-developer/release-runbook.md` if you are cutting a desktop
|
|
13
|
+
release or publishing an OTA update. Two of its rules brick users when
|
|
14
|
+
broken: the installer must be downloadable before any mandatory manifest,
|
|
15
|
+
and it must carry a build number at or above the highest published patch.
|
|
16
|
+
|
|
17
|
+
- Use `docs/ai-developer/gate-cli-command-set.md` for the full consolidated
|
|
18
|
+
gate CLI reference (arguments, `--mode` family, exit codes, strictness tiers,
|
|
19
|
+
per-task-kind and per-persona profiles, and a soft-routing decision guide).
|
|
20
|
+
|
|
21
|
+
- Use `docs/ai-developer/specific_rules/gated-workflow.md` for AI-authored
|
|
22
|
+
gate workflow work.
|
|
23
|
+
|
|
24
|
+
- Use `docs/ai-developer/specific_rules/new-feature.md` if you are building a
|
|
25
|
+
new feature.
|
|
26
|
+
|
|
27
|
+
- Use `docs/ai-developer/specific_rules/bug-fix.md` if you are fixing a bug.
|
|
28
|
+
|
|
29
|
+
- Use `docs/ai-developer/specific_rules/hotfix.md` if the owner explicitly
|
|
30
|
+
authorizes hotfix mode.
|
|
31
|
+
|
|
32
|
+
- Use `docs/ai-developer/specific_rules/guided-work.md` if you are carrying out
|
|
33
|
+
owner-directed live implementation (task kind `guided`).
|
|
34
|
+
|
|
35
|
+
- Use `docs/ai-developer/specific_rules/docs-change.md` if you are changing
|
|
36
|
+
documentation only.
|
|
37
|
+
|
|
38
|
+
- Use `docs/ai-developer/specific_rules/agent-dispatch.md` if you are
|
|
39
|
+
dispatching or coordinating agents.
|
|
40
|
+
|
|
41
|
+
- Use `docs/ai-developer/specific_rules/document-standards.md` if you need the
|
|
42
|
+
ADR-042 document structure reference.
|
|
43
|
+
|
|
44
|
+
- Use `docs/ai-developer/personas/manager.md` if you are the manager persona.
|
|
45
|
+
|
|
46
|
+
- Use `docs/ai-developer/personas/implementer.md` if you are the implementer
|
|
47
|
+
persona.
|
|
48
|
+
|
|
49
|
+
- Use `docs/ai-developer/personas/adr-author.md` if you are the ADR author
|
|
50
|
+
persona.
|
|
51
|
+
|
|
52
|
+
- Use `docs/ai-developer/personas/audit-reviewer.md` if you are the audit
|
|
53
|
+
reviewer persona.
|
|
54
|
+
|
|
55
|
+
- Use `docs/ai-developer/personas/test-engineer.md` if you are the test
|
|
56
|
+
engineer persona.
|
|
57
|
+
|
|
58
|
+
- Use `docs/ai-developer/personas/live-implementer.md` if you are the
|
|
59
|
+
`live_implementer` persona carrying out a `guided` task kind.
|
|
60
|
+
|
|
61
|
+
- Use `docs/ai-developer/templates/agent-dispatch-checklist-template.md` if you
|
|
62
|
+
are creating a manager dispatch checklist.
|
|
63
|
+
|
|
64
|
+
- Use `docs/ai-developer/templates/agent-dispatch-prompt-template.md` if you
|
|
65
|
+
are dispatching non-audit work.
|
|
66
|
+
|
|
67
|
+
- Use `docs/ai-developer/templates/agent-dispatch-audit-with-context-prompt-template.md`
|
|
68
|
+
if you are dispatching an audit with issue, checklist, PR, and claimed-work
|
|
69
|
+
context.
|
|
70
|
+
|
|
71
|
+
- Use `docs/ai-developer/templates/agent-dispatch-audit-no-context-prompt-template.md`
|
|
72
|
+
if you are dispatching an audit without current task context.
|
|
73
|
+
|
|
74
|
+
- Use `docs/ai-developer/skills/scistudio-e2e-test/SKILL.md` if you are running
|
|
75
|
+
a live end-to-end SciStudio session from a scenario file under
|
|
76
|
+
`docs/ai-developer/e2e/`. Pair it with
|
|
77
|
+
`docs/ai-developer/e2e/template.md` and `docs/ai-developer/e2e/README.md`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: adr-author
|
|
3
|
+
description: Use when acting as the SciStudio ADR author persona for ADRs, addenda, specs, governance text, document standards, schemas, and architecture-facing decisions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio ADR Author Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing ADR author work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/adr-author.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/docs-change.md
|
|
16
|
+
- @docs/ai-developer/specific_rules/document-standards.md
|
|
17
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
18
|
+
|
|
19
|
+
Do not continue as ADR author until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-reviewer
|
|
3
|
+
description: Use when acting as the SciStudio audit reviewer persona for reviews, audits, CI investigation, drift detection, conformance checks, and readiness assessment.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Audit Reviewer Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing audit reviewer work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/audit-reviewer.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
16
|
+
|
|
17
|
+
Follow the audit context boundaries in the task instruction.
|
|
18
|
+
Do not continue as audit reviewer until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementer
|
|
3
|
+
description: Use when acting as the SciStudio implementer persona for scoped code, tests, tool wiring, implementation-linked docs, and gate-record evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Implementer Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing implementer work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/implementer.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
16
|
+
- The matching task-specific rule under @docs/ai-developer/specific_rules/
|
|
17
|
+
|
|
18
|
+
When dispatched by a manager, also follow @docs/ai-developer/specific_rules/agent-dispatch.md.
|
|
19
|
+
Do not continue as implementer until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: live-implementer
|
|
3
|
+
description: Use when acting as the SciStudio live implementer persona for owner-directed live implementation sessions under the guided task kind.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Live Implementer Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing live implementer work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/live-implementer.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/guided-work.md
|
|
16
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
17
|
+
|
|
18
|
+
The live_implementer persona is not the ordinary implementer. Do not inherit the
|
|
19
|
+
ordinary implementer workflow by implication.
|
|
20
|
+
Do not continue as live implementer until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: manager
|
|
3
|
+
description: Use when acting as the SciStudio manager persona for planning, coordination, dispatch, hotfix ownership, integration testing, e2e testing, PR readiness, and durable status reporting.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Manager Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing manager work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/manager.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
16
|
+
- @docs/ai-developer/specific_rules/agent-dispatch.md
|
|
17
|
+
- @docs/ai-developer/specific_rules/hotfix.md when hotfix mode is explicitly authorized
|
|
18
|
+
|
|
19
|
+
Use the templates under @docs/ai-developer/templates/ when dispatching agents.
|
|
20
|
+
Do not continue as manager until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scistudio-e2e-test
|
|
3
|
+
description: Use when running a live end-to-end SciStudio session — driving the GUI in Chrome via Chrome MCP, verifying a PR before merge, reproducing a hotfix bug live, or any time the user says "跑 e2e", "do an e2e", "verify in Chrome", "run e2e on PR #N", or hands you a path under docs/ai-developer/e2e/. Pairs a user-filled scenario file with a pass/fail verdict written back into the same file.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio E2E Test Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing e2e work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/skills/scistudio-e2e-test/SKILL.md
|
|
15
|
+
- @docs/ai-developer/e2e/template.md (the scenario shape this skill expects)
|
|
16
|
+
- @docs/ai-developer/e2e/README.md (workflow + naming for scenario files)
|
|
17
|
+
- @docs/ai-developer/personas/manager.md when the e2e is part of a manager coordination
|
|
18
|
+
- @docs/ai-developer/specific_rules/hotfix.md when the e2e is a hotfix repro
|
|
19
|
+
|
|
20
|
+
The Chrome MCP recipes, dev-server lifecycle, screenshot recipes, and
|
|
21
|
+
final report template live alongside the canonical SKILL.md under
|
|
22
|
+
`docs/ai-developer/skills/scistudio-e2e-test/references/`. Read whichever
|
|
23
|
+
reference the current step needs.
|
|
24
|
+
|
|
25
|
+
Do not continue as the e2e tester until the canonical SKILL.md and the
|
|
26
|
+
scenario template are loaded.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-engineer
|
|
3
|
+
description: Use when acting as the SciStudio test_engineer persona for test architecture, test design, test additions, runtime validation, e2e evidence, and test-only artifacts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Test Engineer Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing test-engineer work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/test-engineer.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/test-engineering.md
|
|
16
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
17
|
+
|
|
18
|
+
When dispatched by a manager, also follow @docs/ai-developer/specific_rules/agent-dispatch.md.
|
|
19
|
+
Do not continue as test engineer until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Claude Rules Index
|
|
2
|
+
|
|
3
|
+
This file is a pointer only. It is not an independent policy source.
|
|
4
|
+
|
|
5
|
+
- Use `AGENTS.md` for root repository policy.
|
|
6
|
+
|
|
7
|
+
- Use `docs/ai-developer/rules.md` for rules every AI persona must follow.
|
|
8
|
+
|
|
9
|
+
- Use `docs/ai-developer/rules.md#5-gate-cli-command-set` for the canonical
|
|
10
|
+
AI-facing gate record and local receipt commands.
|
|
11
|
+
|
|
12
|
+
- Use `docs/ai-developer/release-runbook.md` if you are cutting a desktop
|
|
13
|
+
release or publishing an OTA update. Two of its rules brick users when
|
|
14
|
+
broken: the installer must be downloadable before any mandatory manifest,
|
|
15
|
+
and it must carry a build number at or above the highest published patch.
|
|
16
|
+
|
|
17
|
+
- Use `docs/ai-developer/gate-cli-command-set.md` for the full consolidated
|
|
18
|
+
gate CLI reference (arguments, `--mode` family, exit codes, strictness tiers,
|
|
19
|
+
per-task-kind and per-persona profiles, and a soft-routing decision guide).
|
|
20
|
+
|
|
21
|
+
- Use `docs/ai-developer/specific_rules/gated-workflow.md` for AI-authored
|
|
22
|
+
gate workflow work.
|
|
23
|
+
|
|
24
|
+
- Use `docs/ai-developer/specific_rules/new-feature.md` if you are building a
|
|
25
|
+
new feature.
|
|
26
|
+
|
|
27
|
+
- Use `docs/ai-developer/specific_rules/bug-fix.md` if you are fixing a bug.
|
|
28
|
+
|
|
29
|
+
- Use `docs/ai-developer/specific_rules/hotfix.md` if the owner explicitly
|
|
30
|
+
authorizes hotfix mode.
|
|
31
|
+
|
|
32
|
+
- Use `docs/ai-developer/specific_rules/guided-work.md` if you are carrying out
|
|
33
|
+
owner-directed live implementation (task kind `guided`).
|
|
34
|
+
|
|
35
|
+
- Use `docs/ai-developer/specific_rules/docs-change.md` if you are changing
|
|
36
|
+
documentation only.
|
|
37
|
+
|
|
38
|
+
- Use `docs/ai-developer/specific_rules/agent-dispatch.md` if you are
|
|
39
|
+
dispatching or coordinating agents.
|
|
40
|
+
|
|
41
|
+
- Use `docs/ai-developer/specific_rules/document-standards.md` if you need the
|
|
42
|
+
ADR-042 document structure reference.
|
|
43
|
+
|
|
44
|
+
- Use `docs/ai-developer/personas/manager.md` if you are the manager persona.
|
|
45
|
+
|
|
46
|
+
- Use `docs/ai-developer/personas/implementer.md` if you are the implementer
|
|
47
|
+
persona.
|
|
48
|
+
|
|
49
|
+
- Use `docs/ai-developer/personas/adr-author.md` if you are the ADR author
|
|
50
|
+
persona.
|
|
51
|
+
|
|
52
|
+
- Use `docs/ai-developer/personas/audit-reviewer.md` if you are the audit
|
|
53
|
+
reviewer persona.
|
|
54
|
+
|
|
55
|
+
- Use `docs/ai-developer/personas/test-engineer.md` if you are the test
|
|
56
|
+
engineer persona.
|
|
57
|
+
|
|
58
|
+
- Use `docs/ai-developer/personas/live-implementer.md` if you are the
|
|
59
|
+
`live_implementer` persona carrying out a `guided` task kind.
|
|
60
|
+
|
|
61
|
+
- Use `docs/ai-developer/templates/agent-dispatch-checklist-template.md` if you
|
|
62
|
+
are creating a manager dispatch checklist.
|
|
63
|
+
|
|
64
|
+
- Use `docs/ai-developer/templates/agent-dispatch-prompt-template.md` if you
|
|
65
|
+
are dispatching non-audit work.
|
|
66
|
+
|
|
67
|
+
- Use `docs/ai-developer/templates/agent-dispatch-audit-with-context-prompt-template.md`
|
|
68
|
+
if you are dispatching an audit with issue, checklist, PR, and claimed-work
|
|
69
|
+
context.
|
|
70
|
+
|
|
71
|
+
- Use `docs/ai-developer/templates/agent-dispatch-audit-no-context-prompt-template.md`
|
|
72
|
+
if you are dispatching an audit without current task context.
|
|
73
|
+
|
|
74
|
+
- Use `docs/ai-developer/skills/scistudio-e2e-test/SKILL.md` if you are running
|
|
75
|
+
a live end-to-end SciStudio session from a scenario file under
|
|
76
|
+
`docs/ai-developer/e2e/`. Pair it with
|
|
77
|
+
`docs/ai-developer/e2e/template.md` and `docs/ai-developer/e2e/README.md`.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(pip --version)",
|
|
5
|
+
"Bash(git reset:*)",
|
|
6
|
+
"Bash(git rm:*)",
|
|
7
|
+
"Bash(git commit:*)",
|
|
8
|
+
"Bash(git branch:*)",
|
|
9
|
+
"Bash(git push:*)",
|
|
10
|
+
"Bash(gh pr:*)",
|
|
11
|
+
"Bash(gh run:*)",
|
|
12
|
+
"Bash(git pull:*)",
|
|
13
|
+
"Bash(git add:*)"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: adr-author
|
|
3
|
+
description: Use when acting as the SciStudio ADR author persona for ADRs, addenda, specs, governance text, document standards, schemas, and architecture-facing decisions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio ADR Author Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing ADR author work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/adr-author.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/docs-change.md
|
|
16
|
+
- @docs/ai-developer/specific_rules/document-standards.md
|
|
17
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
18
|
+
|
|
19
|
+
Do not continue as ADR author until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-reviewer
|
|
3
|
+
description: Use when acting as the SciStudio audit reviewer persona for reviews, audits, CI investigation, drift detection, conformance checks, and readiness assessment.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Audit Reviewer Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing audit reviewer work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/audit-reviewer.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
16
|
+
|
|
17
|
+
Follow the audit context boundaries in the task instruction.
|
|
18
|
+
Do not continue as audit reviewer until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementer
|
|
3
|
+
description: Use when acting as the SciStudio implementer persona for scoped code, tests, tool wiring, implementation-linked docs, and gate-record evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Implementer Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing implementer work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/implementer.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
16
|
+
- The matching task-specific rule under @docs/ai-developer/specific_rules/
|
|
17
|
+
|
|
18
|
+
When dispatched by a manager, also follow @docs/ai-developer/specific_rules/agent-dispatch.md.
|
|
19
|
+
Do not continue as implementer until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: live-implementer
|
|
3
|
+
description: Use when acting as the SciStudio live implementer persona for owner-directed live implementation sessions under the guided task kind.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Live Implementer Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing live implementer work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/live-implementer.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/guided-work.md
|
|
16
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
17
|
+
|
|
18
|
+
The live_implementer persona is not the ordinary implementer. Do not inherit the
|
|
19
|
+
ordinary implementer workflow by implication.
|
|
20
|
+
Do not continue as live implementer until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: manager
|
|
3
|
+
description: Use when acting as the SciStudio manager persona for planning, coordination, dispatch, hotfix ownership, integration testing, e2e testing, PR readiness, and durable status reporting.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio Manager Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing manager work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/personas/manager.md
|
|
15
|
+
- @docs/ai-developer/specific_rules/gated-workflow.md
|
|
16
|
+
- @docs/ai-developer/specific_rules/agent-dispatch.md
|
|
17
|
+
- @docs/ai-developer/specific_rules/hotfix.md when hotfix mode is explicitly authorized
|
|
18
|
+
|
|
19
|
+
Use the templates under @docs/ai-developer/templates/ when dispatching agents.
|
|
20
|
+
Do not continue as manager until the persona file and common rules are loaded.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scistudio-e2e-test
|
|
3
|
+
description: Use when running a live end-to-end SciStudio session — driving the GUI in Chrome via Chrome MCP, verifying a PR before merge, reproducing a hotfix bug live, or any time the user says "跑 e2e", "do an e2e", "verify in Chrome", "run e2e on PR #N", or hands you a path under docs/ai-developer/e2e/. Pairs a user-filled scenario file with a pass/fail verdict written back into the same file.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SciStudio E2E Test Skill
|
|
7
|
+
|
|
8
|
+
This skill is a hard pointer only. It does not define independent policy.
|
|
9
|
+
|
|
10
|
+
Before doing e2e work, load and follow:
|
|
11
|
+
|
|
12
|
+
- @AGENTS.md
|
|
13
|
+
- @docs/ai-developer/rules.md
|
|
14
|
+
- @docs/ai-developer/skills/scistudio-e2e-test/SKILL.md
|
|
15
|
+
- @docs/ai-developer/e2e/template.md (the scenario shape this skill expects)
|
|
16
|
+
- @docs/ai-developer/e2e/README.md (workflow + naming for scenario files)
|
|
17
|
+
- @docs/ai-developer/personas/manager.md when the e2e is part of a manager coordination
|
|
18
|
+
- @docs/ai-developer/specific_rules/hotfix.md when the e2e is a hotfix repro
|
|
19
|
+
|
|
20
|
+
The Chrome MCP recipes, dev-server lifecycle, screenshot recipes, and
|
|
21
|
+
final report template live alongside the canonical SKILL.md under
|
|
22
|
+
`docs/ai-developer/skills/scistudio-e2e-test/references/`. Read whichever
|
|
23
|
+
reference the current step needs.
|
|
24
|
+
|
|
25
|
+
Do not continue as the e2e tester until the canonical SKILL.md and the
|
|
26
|
+
scenario template are loaded.
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speckit-analyze
|
|
3
|
+
description: Perform a non-destructive cross-artifact consistency and quality analysis
|
|
4
|
+
across spec.md, plan.md, and tasks.md after task generation.
|
|
5
|
+
compatibility: Requires spec-kit project structure with .specify/ directory
|
|
6
|
+
metadata:
|
|
7
|
+
author: github-spec-kit
|
|
8
|
+
source: templates/commands/analyze.md
|
|
9
|
+
disable-model-invocation: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## User Input
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
19
|
+
|
|
20
|
+
## Goal
|
|
21
|
+
|
|
22
|
+
Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This command MUST run only after `/speckit.tasks` has successfully produced a complete `tasks.md`.
|
|
23
|
+
|
|
24
|
+
## Operating Constraints
|
|
25
|
+
|
|
26
|
+
**STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up editing commands would be invoked manually).
|
|
27
|
+
|
|
28
|
+
**Constitution Authority**: The project constitution (`.specify/memory/constitution.md`) is **non-negotiable** within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside `/speckit.analyze`.
|
|
29
|
+
|
|
30
|
+
## Execution Steps
|
|
31
|
+
|
|
32
|
+
### 1. Initialize Analysis Context
|
|
33
|
+
|
|
34
|
+
Run `.specify/scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks` once from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS. Derive absolute paths:
|
|
35
|
+
|
|
36
|
+
- SPEC = FEATURE_DIR/spec.md
|
|
37
|
+
- PLAN = FEATURE_DIR/plan.md
|
|
38
|
+
- TASKS = FEATURE_DIR/tasks.md
|
|
39
|
+
|
|
40
|
+
Abort with an error message if any required file is missing (instruct the user to run missing prerequisite command).
|
|
41
|
+
For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
|
|
42
|
+
|
|
43
|
+
### 2. Load Artifacts (Progressive Disclosure)
|
|
44
|
+
|
|
45
|
+
Load only the minimal necessary context from each artifact:
|
|
46
|
+
|
|
47
|
+
**From spec.md:**
|
|
48
|
+
|
|
49
|
+
- Overview/Context
|
|
50
|
+
- Functional Requirements
|
|
51
|
+
- Success Criteria (measurable outcomes — e.g., performance, security, availability, user success, business impact)
|
|
52
|
+
- User Stories
|
|
53
|
+
- Edge Cases (if present)
|
|
54
|
+
|
|
55
|
+
**From plan.md:**
|
|
56
|
+
|
|
57
|
+
- Architecture/stack choices
|
|
58
|
+
- Data Model references
|
|
59
|
+
- Phases
|
|
60
|
+
- Technical constraints
|
|
61
|
+
|
|
62
|
+
**From tasks.md:**
|
|
63
|
+
|
|
64
|
+
- Task IDs
|
|
65
|
+
- Descriptions
|
|
66
|
+
- Phase grouping
|
|
67
|
+
- Parallel markers [P]
|
|
68
|
+
- Referenced file paths
|
|
69
|
+
|
|
70
|
+
**From constitution:**
|
|
71
|
+
|
|
72
|
+
- Load `.specify/memory/constitution.md` for principle validation
|
|
73
|
+
|
|
74
|
+
### 3. Build Semantic Models
|
|
75
|
+
|
|
76
|
+
Create internal representations (do not include raw artifacts in output):
|
|
77
|
+
|
|
78
|
+
- **Requirements inventory**: For each Functional Requirement (FR-###) and Success Criterion (SC-###), record a stable key. Use the explicit FR-/SC- identifier as the primary key when present, and optionally also derive an imperative-phrase slug for readability (e.g., "User can upload file" → `user-can-upload-file`). Include only Success Criteria items that require buildable work (e.g., load-testing infrastructure, security audit tooling), and exclude post-launch outcome metrics and business KPIs (e.g., "Reduce support tickets by 50%").
|
|
79
|
+
- **User story/action inventory**: Discrete user actions with acceptance criteria
|
|
80
|
+
- **Task coverage mapping**: Map each task to one or more requirements or stories (inference by keyword / explicit reference patterns like IDs or key phrases)
|
|
81
|
+
- **Constitution rule set**: Extract principle names and MUST/SHOULD normative statements
|
|
82
|
+
|
|
83
|
+
### 4. Detection Passes (Token-Efficient Analysis)
|
|
84
|
+
|
|
85
|
+
Focus on high-signal findings. Limit to 50 findings total; aggregate remainder in overflow summary.
|
|
86
|
+
|
|
87
|
+
#### A. Duplication Detection
|
|
88
|
+
|
|
89
|
+
- Identify near-duplicate requirements
|
|
90
|
+
- Mark lower-quality phrasing for consolidation
|
|
91
|
+
|
|
92
|
+
#### B. Ambiguity Detection
|
|
93
|
+
|
|
94
|
+
- Flag vague adjectives (fast, scalable, secure, intuitive, robust) lacking measurable criteria
|
|
95
|
+
- Flag unresolved placeholders (TODO, TKTK, ???, `<placeholder>`, etc.)
|
|
96
|
+
|
|
97
|
+
#### C. Underspecification
|
|
98
|
+
|
|
99
|
+
- Requirements with verbs but missing object or measurable outcome
|
|
100
|
+
- User stories missing acceptance criteria alignment
|
|
101
|
+
- Tasks referencing files or components not defined in spec/plan
|
|
102
|
+
|
|
103
|
+
#### D. Constitution Alignment
|
|
104
|
+
|
|
105
|
+
- Any requirement or plan element conflicting with a MUST principle
|
|
106
|
+
- Missing mandated sections or quality gates from constitution
|
|
107
|
+
|
|
108
|
+
#### E. Coverage Gaps
|
|
109
|
+
|
|
110
|
+
- Requirements with zero associated tasks
|
|
111
|
+
- Tasks with no mapped requirement/story
|
|
112
|
+
- Success Criteria requiring buildable work (performance, security, availability) not reflected in tasks
|
|
113
|
+
|
|
114
|
+
#### F. Inconsistency
|
|
115
|
+
|
|
116
|
+
- Terminology drift (same concept named differently across files)
|
|
117
|
+
- Data entities referenced in plan but absent in spec (or vice versa)
|
|
118
|
+
- Task ordering contradictions (e.g., integration tasks before foundational setup tasks without dependency note)
|
|
119
|
+
- Conflicting requirements (e.g., one requires Next.js while other specifies Vue)
|
|
120
|
+
|
|
121
|
+
### 5. Severity Assignment
|
|
122
|
+
|
|
123
|
+
Use this heuristic to prioritize findings:
|
|
124
|
+
|
|
125
|
+
- **CRITICAL**: Violates constitution MUST, missing core spec artifact, or requirement with zero coverage that blocks baseline functionality
|
|
126
|
+
- **HIGH**: Duplicate or conflicting requirement, ambiguous security/performance attribute, untestable acceptance criterion
|
|
127
|
+
- **MEDIUM**: Terminology drift, missing non-functional task coverage, underspecified edge case
|
|
128
|
+
- **LOW**: Style/wording improvements, minor redundancy not affecting execution order
|
|
129
|
+
|
|
130
|
+
### 6. Produce Compact Analysis Report
|
|
131
|
+
|
|
132
|
+
Output a Markdown report (no file writes) with the following structure:
|
|
133
|
+
|
|
134
|
+
## Specification Analysis Report
|
|
135
|
+
|
|
136
|
+
| ID | Category | Severity | Location(s) | Summary | Recommendation |
|
|
137
|
+
|----|----------|----------|-------------|---------|----------------|
|
|
138
|
+
| A1 | Duplication | HIGH | spec.md:L120-134 | Two similar requirements ... | Merge phrasing; keep clearer version |
|
|
139
|
+
|
|
140
|
+
(Add one row per finding; generate stable IDs prefixed by category initial.)
|
|
141
|
+
|
|
142
|
+
**Coverage Summary Table:**
|
|
143
|
+
|
|
144
|
+
| Requirement Key | Has Task? | Task IDs | Notes |
|
|
145
|
+
|-----------------|-----------|----------|-------|
|
|
146
|
+
|
|
147
|
+
**Constitution Alignment Issues:** (if any)
|
|
148
|
+
|
|
149
|
+
**Unmapped Tasks:** (if any)
|
|
150
|
+
|
|
151
|
+
**Metrics:**
|
|
152
|
+
|
|
153
|
+
- Total Requirements
|
|
154
|
+
- Total Tasks
|
|
155
|
+
- Coverage % (requirements with >=1 task)
|
|
156
|
+
- Ambiguity Count
|
|
157
|
+
- Duplication Count
|
|
158
|
+
- Critical Issues Count
|
|
159
|
+
|
|
160
|
+
### 7. Provide Next Actions
|
|
161
|
+
|
|
162
|
+
At end of report, output a concise Next Actions block:
|
|
163
|
+
|
|
164
|
+
- If CRITICAL issues exist: Recommend resolving before `/speckit.implement`
|
|
165
|
+
- If only LOW/MEDIUM: User may proceed, but provide improvement suggestions
|
|
166
|
+
- Provide explicit command suggestions: e.g., "Run /speckit.specify with refinement", "Run /speckit.plan to adjust architecture", "Manually edit tasks.md to add coverage for 'performance-metrics'"
|
|
167
|
+
|
|
168
|
+
### 8. Offer Remediation
|
|
169
|
+
|
|
170
|
+
Ask the user: "Would you like me to suggest concrete remediation edits for the top N issues?" (Do NOT apply them automatically.)
|
|
171
|
+
|
|
172
|
+
## Operating Principles
|
|
173
|
+
|
|
174
|
+
### Context Efficiency
|
|
175
|
+
|
|
176
|
+
- **Minimal high-signal tokens**: Focus on actionable findings, not exhaustive documentation
|
|
177
|
+
- **Progressive disclosure**: Load artifacts incrementally; don't dump all content into analysis
|
|
178
|
+
- **Token-efficient output**: Limit findings table to 50 rows; summarize overflow
|
|
179
|
+
- **Deterministic results**: Rerunning without changes should produce consistent IDs and counts
|
|
180
|
+
|
|
181
|
+
### Analysis Guidelines
|
|
182
|
+
|
|
183
|
+
- **NEVER modify files** (this is read-only analysis)
|
|
184
|
+
- **NEVER hallucinate missing sections** (if absent, report them accurately)
|
|
185
|
+
- **Prioritize constitution violations** (these are always CRITICAL)
|
|
186
|
+
- **Use examples over exhaustive rules** (cite specific instances, not generic patterns)
|
|
187
|
+
- **Report zero issues gracefully** (emit success report with coverage statistics)
|
|
188
|
+
|
|
189
|
+
## Context
|
|
190
|
+
|
|
191
|
+
$ARGUMENTS
|