iosm-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/LICENSE +21 -0
- package/README.md +650 -0
- package/dist/cli/args.d.ts +54 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +331 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config-selector.d.ts +14 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +79 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +92 -0
- package/dist/cli/list-models.js.map +1 -0
- package/dist/cli/session-picker.d.ts +9 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +34 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +15 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +88 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +262 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-profiles.d.ts +29 -0
- package/dist/core/agent-profiles.d.ts.map +1 -0
- package/dist/core/agent-profiles.js +86 -0
- package/dist/core/agent-profiles.js.map +1 -0
- package/dist/core/agent-session.d.ts +688 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +3112 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/agent-teams.d.ts +41 -0
- package/dist/core/agent-teams.d.ts.map +1 -0
- package/dist/core/agent-teams.js +90 -0
- package/dist/core/agent-teams.js.map +1 -0
- package/dist/core/ask-user-tool.d.ts +22 -0
- package/dist/core/ask-user-tool.d.ts.map +1 -0
- package/dist/core/ask-user-tool.js +115 -0
- package/dist/core/ask-user-tool.js.map +1 -0
- package/dist/core/auth-storage.d.ts +133 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +391 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/bash-executor.d.ts +49 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +213 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +86 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +242 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +121 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +610 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +35 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +138 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/defaults.d.ts +3 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +2 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +71 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +34 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +222 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/template.css +971 -0
- package/dist/core/export-html/template.html +54 -0
- package/dist/core/export-html/template.js +1590 -0
- package/dist/core/export-html/tool-renderer.d.ts +35 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +63 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +6 -0
- package/dist/core/extensions/index.d.ts +11 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +9 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +25 -0
- package/dist/core/extensions/loader.d.ts.map +1 -0
- package/dist/core/extensions/loader.js +447 -0
- package/dist/core/extensions/loader.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +146 -0
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +652 -0
- package/dist/core/extensions/runner.js.map +1 -0
- package/dist/core/extensions/types.d.ts +1074 -0
- package/dist/core/extensions/types.d.ts.map +1 -0
- package/dist/core/extensions/types.js +35 -0
- package/dist/core/extensions/types.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts +27 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/core/extensions/wrapper.js +102 -0
- package/dist/core/extensions/wrapper.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +32 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +134 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/hooks.d.ts +53 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +332 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/keybindings.d.ts +55 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +157 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/mcp/cli.d.ts +27 -0
- package/dist/core/mcp/cli.d.ts.map +1 -0
- package/dist/core/mcp/cli.js +275 -0
- package/dist/core/mcp/cli.js.map +1 -0
- package/dist/core/mcp/config.d.ts +11 -0
- package/dist/core/mcp/config.d.ts.map +1 -0
- package/dist/core/mcp/config.js +310 -0
- package/dist/core/mcp/config.js.map +1 -0
- package/dist/core/mcp/index.d.ts +5 -0
- package/dist/core/mcp/index.d.ts.map +1 -0
- package/dist/core/mcp/index.js +4 -0
- package/dist/core/mcp/index.js.map +1 -0
- package/dist/core/mcp/runtime.d.ts +42 -0
- package/dist/core/mcp/runtime.d.ts.map +1 -0
- package/dist/core/mcp/runtime.js +387 -0
- package/dist/core/mcp/runtime.js.map +1 -0
- package/dist/core/mcp/types.d.ts +76 -0
- package/dist/core/mcp/types.d.ts.map +1 -0
- package/dist/core/mcp/types.js +2 -0
- package/dist/core/mcp/types.js.map +1 -0
- package/dist/core/memory.d.ts +27 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +203 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/messages.d.ts +84 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +141 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-registry.d.ts +115 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +549 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +104 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +448 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/package-manager.d.ts +156 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +1465 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/parallel-task-agent.d.ts +19 -0
- package/dist/core/parallel-task-agent.d.ts.map +1 -0
- package/dist/core/parallel-task-agent.js +482 -0
- package/dist/core/parallel-task-agent.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +50 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +251 -0
- package/dist/core/prompt-templates.js.map +1 -0
- package/dist/core/qwen-cli-provider.d.ts +10 -0
- package/dist/core/qwen-cli-provider.d.ts.map +1 -0
- package/dist/core/qwen-cli-provider.js +271 -0
- package/dist/core/qwen-cli-provider.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +17 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +60 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +195 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +820 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/sdk.d.ts +106 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +460 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/session-manager.d.ts +323 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1094 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/settings-manager.d.ts +243 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +691 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +58 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +364 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +15 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +64 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/subagent-runs.d.ts +16 -0
- package/dist/core/subagent-runs.d.ts.map +1 -0
- package/dist/core/subagent-runs.js +70 -0
- package/dist/core/subagent-runs.js.map +1 -0
- package/dist/core/subagents.d.ts +45 -0
- package/dist/core/subagents.d.ts.map +1 -0
- package/dist/core/subagents.js +467 -0
- package/dist/core/subagents.js.map +1 -0
- package/dist/core/system-prompt.d.ts +28 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +196 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/task-plan.d.ts +32 -0
- package/dist/core/task-plan.d.ts.map +1 -0
- package/dist/core/task-plan.js +155 -0
- package/dist/core/task-plan.js.map +1 -0
- package/dist/core/timings.d.ts +7 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +26 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tools/bash.d.ts +58 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +275 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +63 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +243 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +42 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +158 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/find.d.ts +39 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +219 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +45 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +254 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/ignore-filter.d.ts +5 -0
- package/dist/core/tools/ignore-filter.d.ts.map +1 -0
- package/dist/core/tools/ignore-filter.js +97 -0
- package/dist/core/tools/ignore-filter.js.map +1 -0
- package/dist/core/tools/index.d.ts +97 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +78 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +46 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +136 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +8 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +81 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/permissions.d.ts +8 -0
- package/dist/core/tools/permissions.d.ts.map +1 -0
- package/dist/core/tools/permissions.js +2 -0
- package/dist/core/tools/permissions.js.map +1 -0
- package/dist/core/tools/read.d.ts +39 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +166 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/task.d.ts +109 -0
- package/dist/core/tools/task.d.ts.map +1 -0
- package/dist/core/tools/task.js +1065 -0
- package/dist/core/tools/task.js.map +1 -0
- package/dist/core/tools/todo.d.ts +42 -0
- package/dist/core/tools/todo.d.ts.map +1 -0
- package/dist/core/tools/todo.js +159 -0
- package/dist/core/tools/todo.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +205 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/write.d.ts +32 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +90 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/iosm/agent-verification.d.ts +16 -0
- package/dist/iosm/agent-verification.d.ts.map +1 -0
- package/dist/iosm/agent-verification.js +138 -0
- package/dist/iosm/agent-verification.js.map +1 -0
- package/dist/iosm/automation.d.ts +40 -0
- package/dist/iosm/automation.d.ts.map +1 -0
- package/dist/iosm/automation.js +76 -0
- package/dist/iosm/automation.js.map +1 -0
- package/dist/iosm/config.d.ts +151 -0
- package/dist/iosm/config.d.ts.map +1 -0
- package/dist/iosm/config.js +323 -0
- package/dist/iosm/config.js.map +1 -0
- package/dist/iosm/context-loader.d.ts +12 -0
- package/dist/iosm/context-loader.d.ts.map +1 -0
- package/dist/iosm/context-loader.js +50 -0
- package/dist/iosm/context-loader.js.map +1 -0
- package/dist/iosm/cycle.d.ts +51 -0
- package/dist/iosm/cycle.d.ts.map +1 -0
- package/dist/iosm/cycle.js +861 -0
- package/dist/iosm/cycle.js.map +1 -0
- package/dist/iosm/guide.d.ts +31 -0
- package/dist/iosm/guide.d.ts.map +1 -0
- package/dist/iosm/guide.js +101 -0
- package/dist/iosm/guide.js.map +1 -0
- package/dist/iosm/index.d.ts +12 -0
- package/dist/iosm/index.d.ts.map +1 -0
- package/dist/iosm/index.js +11 -0
- package/dist/iosm/index.js.map +1 -0
- package/dist/iosm/init.d.ts +58 -0
- package/dist/iosm/init.d.ts.map +1 -0
- package/dist/iosm/init.js +1221 -0
- package/dist/iosm/init.js.map +1 -0
- package/dist/iosm/metrics.d.ts +23 -0
- package/dist/iosm/metrics.d.ts.map +1 -0
- package/dist/iosm/metrics.js +336 -0
- package/dist/iosm/metrics.js.map +1 -0
- package/dist/iosm/paths.d.ts +24 -0
- package/dist/iosm/paths.d.ts.map +1 -0
- package/dist/iosm/paths.js +77 -0
- package/dist/iosm/paths.js.map +1 -0
- package/dist/iosm/runtime-context.d.ts +20 -0
- package/dist/iosm/runtime-context.d.ts.map +1 -0
- package/dist/iosm/runtime-context.js +170 -0
- package/dist/iosm/runtime-context.js.map +1 -0
- package/dist/iosm/types.d.ts +151 -0
- package/dist/iosm/types.d.ts.map +1 -0
- package/dist/iosm/types.js +3 -0
- package/dist/iosm/types.js.map +1 -0
- package/dist/main.d.ts +8 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +1478 -0
- package/dist/main.js.map +1 -0
- package/dist/migrations.d.ts +33 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +261 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +9 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +329 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/ascii-logo.d.ts +11 -0
- package/dist/modes/interactive/components/ascii-logo.d.ts.map +1 -0
- package/dist/modes/interactive/components/ascii-logo.js +25 -0
- package/dist/modes/interactive/components/ascii-logo.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +16 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +92 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +36 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +170 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +48 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +42 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +43 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +71 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +470 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +28 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +63 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +74 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +138 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/decrypt-loader.d.ts +25 -0
- package/dist/modes/interactive/components/decrypt-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/decrypt-loader.js +102 -0
- package/dist/modes/interactive/components/decrypt-loader.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +20 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-editor.js +105 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-input.js +55 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-selector.js +71 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +39 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +285 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +33 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +34 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +50 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +85 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +42 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +139 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/mcp-selector.d.ts +31 -0
- package/dist/modes/interactive/components/mcp-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/mcp-selector.js +171 -0
- package/dist/modes/interactive/components/mcp-selector.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +51 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +292 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +19 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +134 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +49 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +271 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +95 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +839 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +60 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +311 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +34 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +45 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/subagent-message.d.ts +91 -0
- package/dist/modes/interactive/components/subagent-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/subagent-message.js +306 -0
- package/dist/modes/interactive/components/subagent-message.js.map +1 -0
- package/dist/modes/interactive/components/task-plan-message.d.ts +12 -0
- package/dist/modes/interactive/components/task-plan-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-plan-message.js +61 -0
- package/dist/modes/interactive/components/task-plan-message.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +44 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +46 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +78 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +880 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +70 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +921 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +110 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +9 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +27 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +453 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +8669 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +85 -0
- package/dist/modes/interactive/theme/light.json +84 -0
- package/dist/modes/interactive/theme/theme-schema.json +335 -0
- package/dist/modes/interactive/theme/theme.d.ts +78 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +944 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/print-mode.d.ts +28 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +101 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +217 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +404 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +580 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +409 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/utils/changelog.d.ts +21 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +87 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +162 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +7 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +14 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +67 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +26 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +163 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/image-convert.d.ts +9 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +35 -0
- package/dist/utils/image-convert.js.map +1 -0
- package/dist/utils/image-resize.d.ts +36 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +181 -0
- package/dist/utils/image-resize.js.map +1 -0
- package/dist/utils/mime.d.ts +2 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +26 -0
- package/dist/utils/mime.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +121 -0
- package/dist/utils/photon.js.map +1 -0
- package/dist/utils/shell.d.ts +26 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +186 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +3 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +251 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/docs/README.md +32 -0
- package/docs/cli-reference.md +342 -0
- package/docs/configuration.md +301 -0
- package/docs/development-and-testing.md +295 -0
- package/docs/extensions-packages-themes.md +415 -0
- package/docs/getting-started.md +246 -0
- package/docs/interactive-mode.md +272 -0
- package/docs/iosm-init-and-cycles.md +355 -0
- package/docs/orchestration-and-subagents.md +273 -0
- package/docs/rpc-json-sdk.md +353 -0
- package/docs/sessions-traces-export.md +260 -0
- package/examples/README.md +120 -0
- package/examples/extensions/README.md +306 -0
- package/examples/extensions/antigravity-image-gen.ts +415 -0
- package/examples/extensions/auto-commit-on-exit.ts +49 -0
- package/examples/extensions/bash-spawn-hook.ts +30 -0
- package/examples/extensions/bookmark.ts +50 -0
- package/examples/extensions/built-in-tool-renderer.ts +246 -0
- package/examples/extensions/claude-rules.ts +86 -0
- package/examples/extensions/commands.ts +72 -0
- package/examples/extensions/confirm-destructive.ts +59 -0
- package/examples/extensions/custom-compaction.ts +114 -0
- package/examples/extensions/custom-footer.ts +64 -0
- package/examples/extensions/custom-header.ts +73 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
- package/examples/extensions/custom-provider-anthropic/package.json +19 -0
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +349 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
- package/examples/extensions/custom-provider-qwen-cli/index.ts +345 -0
- package/examples/extensions/custom-provider-qwen-cli/package.json +16 -0
- package/examples/extensions/dirty-repo-guard.ts +56 -0
- package/examples/extensions/doom-overlay/README.md +46 -0
- package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +152 -0
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
- package/examples/extensions/doom-overlay/doom-component.ts +132 -0
- package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
- package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
- package/examples/extensions/doom-overlay/index.ts +74 -0
- package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
- package/examples/extensions/dynamic-resources/SKILL.md +8 -0
- package/examples/extensions/dynamic-resources/dynamic.json +79 -0
- package/examples/extensions/dynamic-resources/dynamic.md +5 -0
- package/examples/extensions/dynamic-resources/index.ts +15 -0
- package/examples/extensions/dynamic-tools.ts +74 -0
- package/examples/extensions/event-bus.ts +43 -0
- package/examples/extensions/file-trigger.ts +41 -0
- package/examples/extensions/git-checkpoint.ts +53 -0
- package/examples/extensions/handoff.ts +150 -0
- package/examples/extensions/hello.ts +25 -0
- package/examples/extensions/inline-bash.ts +94 -0
- package/examples/extensions/input-transform.ts +43 -0
- package/examples/extensions/interactive-shell.ts +196 -0
- package/examples/extensions/mac-system-theme.ts +47 -0
- package/examples/extensions/message-renderer.ts +59 -0
- package/examples/extensions/minimal-mode.ts +426 -0
- package/examples/extensions/modal-editor.ts +85 -0
- package/examples/extensions/model-status.ts +31 -0
- package/examples/extensions/notify.ts +55 -0
- package/examples/extensions/overlay-qa-tests.ts +881 -0
- package/examples/extensions/overlay-test.ts +150 -0
- package/examples/extensions/permission-gate.ts +34 -0
- package/examples/extensions/pirate.ts +47 -0
- package/examples/extensions/plan-mode/README.md +65 -0
- package/examples/extensions/plan-mode/index.ts +340 -0
- package/examples/extensions/plan-mode/utils.ts +168 -0
- package/examples/extensions/preset.ts +398 -0
- package/examples/extensions/protected-paths.ts +30 -0
- package/examples/extensions/qna.ts +119 -0
- package/examples/extensions/question.ts +264 -0
- package/examples/extensions/questionnaire.ts +427 -0
- package/examples/extensions/rainbow-editor.ts +88 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/rpc-demo.ts +124 -0
- package/examples/extensions/sandbox/index.ts +318 -0
- package/examples/extensions/sandbox/package-lock.json +92 -0
- package/examples/extensions/sandbox/package.json +19 -0
- package/examples/extensions/send-user-message.ts +97 -0
- package/examples/extensions/session-name.ts +27 -0
- package/examples/extensions/shutdown-command.ts +63 -0
- package/examples/extensions/snake.ts +343 -0
- package/examples/extensions/space-invaders.ts +560 -0
- package/examples/extensions/ssh.ts +220 -0
- package/examples/extensions/status-line.ts +40 -0
- package/examples/extensions/subagent/README.md +172 -0
- package/examples/extensions/subagent/agents/planner.md +37 -0
- package/examples/extensions/subagent/agents/reviewer.md +35 -0
- package/examples/extensions/subagent/agents/scout.md +50 -0
- package/examples/extensions/subagent/agents/worker.md +24 -0
- package/examples/extensions/subagent/agents.ts +126 -0
- package/examples/extensions/subagent/index.ts +964 -0
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
- package/examples/extensions/subagent/prompts/implement.md +10 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
- package/examples/extensions/summarize.ts +195 -0
- package/examples/extensions/system-prompt-header.ts +17 -0
- package/examples/extensions/timed-confirm.ts +70 -0
- package/examples/extensions/titlebar-spinner.ts +58 -0
- package/examples/extensions/todo.ts +299 -0
- package/examples/extensions/tool-override.ts +143 -0
- package/examples/extensions/tools.ts +146 -0
- package/examples/extensions/trigger-compact.ts +40 -0
- package/examples/extensions/truncated-tool.ts +192 -0
- package/examples/extensions/widget-placement.ts +17 -0
- package/examples/extensions/with-deps/index.ts +36 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +22 -0
- package/examples/rpc-extension-ui.ts +632 -0
- package/examples/sdk/01-minimal.ts +22 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +55 -0
- package/examples/sdk/04-skills.ts +46 -0
- package/examples/sdk/05-tools.ts +56 -0
- package/examples/sdk/06-extensions.ts +88 -0
- package/examples/sdk/07-context-files.ts +40 -0
- package/examples/sdk/08-prompt-templates.ts +47 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +48 -0
- package/examples/sdk/10-settings.ts +51 -0
- package/examples/sdk/11-sessions.ts +48 -0
- package/examples/sdk/12-full-control.ts +82 -0
- package/examples/sdk/README.md +337 -0
- package/examples/tsconfig.json +3 -0
- package/package.json +107 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
# Interactive Mode
|
|
2
|
+
|
|
3
|
+
Interactive mode is the default experience when running `iosm` without `-p` or `--mode` flags. It provides a rich multi-turn terminal session with persistent history, model switching, and keyboard-driven controls.
|
|
4
|
+
|
|
5
|
+
## Starting Interactive Mode
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Default
|
|
9
|
+
iosm
|
|
10
|
+
|
|
11
|
+
# With specific model
|
|
12
|
+
iosm --model sonnet:high
|
|
13
|
+
|
|
14
|
+
# With profile
|
|
15
|
+
iosm --profile plan
|
|
16
|
+
|
|
17
|
+
# Continue previous session
|
|
18
|
+
iosm --continue
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Core UX
|
|
22
|
+
|
|
23
|
+
- Multi-turn conversation with persistent session history
|
|
24
|
+
- Keyboard-driven controls for model, profile, and queue management
|
|
25
|
+
- Live tool execution rendering with expandable output
|
|
26
|
+
- Pending message queue for follow-up prompts
|
|
27
|
+
- Task plan visualization and progress tracking
|
|
28
|
+
- Streaming responses with interrupt/steer capability
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Slash Commands
|
|
33
|
+
|
|
34
|
+
### Session Lifecycle
|
|
35
|
+
|
|
36
|
+
| Command | Description | Example |
|
|
37
|
+
|---------|-------------|---------|
|
|
38
|
+
| `/new` | Start a new session | `/new` |
|
|
39
|
+
| `/clear` | Alias for `/new` | `/clear` |
|
|
40
|
+
| `/resume` | Open session picker | `/resume` |
|
|
41
|
+
| `/fork` | Branch from a previous message | `/fork` |
|
|
42
|
+
| `/tree` | Navigate the session tree | `/tree` |
|
|
43
|
+
| `/checkpoint` | Save a rollback checkpoint (`/checkpoint list`) | `/checkpoint before-refactor` |
|
|
44
|
+
| `/rollback` | Roll back to latest/named/indexed checkpoint | `/rollback 2` |
|
|
45
|
+
| `/name` | Set session display name | `/name refactoring-auth` |
|
|
46
|
+
| `/session` | Session info | `/session` |
|
|
47
|
+
| `/quit` | Exit the application | `/quit` |
|
|
48
|
+
|
|
49
|
+
### Model & Runtime
|
|
50
|
+
|
|
51
|
+
| Command | Description | Example |
|
|
52
|
+
|---------|-------------|---------|
|
|
53
|
+
| `/model` | Open provider-first model selector (`provider -> model`) | `/model` |
|
|
54
|
+
| `/scoped-models` | Manage model rotation | `/scoped-models` |
|
|
55
|
+
| `/mcp` | Open MCP manager UI and run MCP subcommands | `/mcp` |
|
|
56
|
+
| `/memory` | Interactive memory manager (`add/edit/remove/scope/path`) | `/memory` |
|
|
57
|
+
| `/settings` | View/modify settings | `/settings` |
|
|
58
|
+
| `/hotkeys` | View keyboard shortcuts | `/hotkeys` |
|
|
59
|
+
| `/changelog` | View recent changes | `/changelog` |
|
|
60
|
+
|
|
61
|
+
### IOSM & Planning
|
|
62
|
+
|
|
63
|
+
| Command | Description | Example |
|
|
64
|
+
|---------|-------------|---------|
|
|
65
|
+
| `/init` | Bootstrap IOSM workspace | `/init` |
|
|
66
|
+
| `/iosm` | Run full IOSM cycle | `/iosm 0.95 --max-iterations 5` |
|
|
67
|
+
| `/cycle-plan` | Plan a new cycle | `/cycle-plan reduce latency` |
|
|
68
|
+
| `/cycle-status` | Check cycle progress | `/cycle-status` |
|
|
69
|
+
| `/cycle-report` | View cycle report | `/cycle-report` |
|
|
70
|
+
| `/cycle-list` | List all cycles | `/cycle-list` |
|
|
71
|
+
|
|
72
|
+
### Orchestration & Agents
|
|
73
|
+
|
|
74
|
+
| Command | Description | Example |
|
|
75
|
+
|---------|-------------|---------|
|
|
76
|
+
| `/orchestrate` | Launch subagent orchestration | See below |
|
|
77
|
+
| `/agents` | Inspect custom/system agents | `/agents` |
|
|
78
|
+
| `/subagent-runs` | List subagent run history | `/subagent-runs` |
|
|
79
|
+
| `/subagent-resume` | Resume a subagent run | `/subagent-resume run-123` |
|
|
80
|
+
| `/team-runs` | List team orchestration runs | `/team-runs` |
|
|
81
|
+
| `/team-status` | Check team run status | `/team-status team-456` |
|
|
82
|
+
|
|
83
|
+
### System Actions
|
|
84
|
+
|
|
85
|
+
| Command | Description | Example |
|
|
86
|
+
|---------|-------------|---------|
|
|
87
|
+
| `/export` | Export session to HTML | `/export` |
|
|
88
|
+
| `/share` | Share via GitHub Gist | `/share` |
|
|
89
|
+
| `/copy` | Copy last response to clipboard | `/copy` |
|
|
90
|
+
| `/doctor` | Run diagnostics for model/auth/MCP/hooks/resources | `/doctor` |
|
|
91
|
+
| `/compact` | Compact conversation context | `/compact` |
|
|
92
|
+
| `/reload` | Reload extensions and resources | `/reload` |
|
|
93
|
+
| `/permissions` | View/set tool permissions | `/permissions` |
|
|
94
|
+
| `/yolo` | Toggle auto-approve mode | `/yolo on` |
|
|
95
|
+
| `/login` | Authenticate with provider (OAuth incl. Qwen + OpenRouter API key) | `/login` |
|
|
96
|
+
| `/auth` | Alias for `/login` | `/auth` |
|
|
97
|
+
| `/logout` | Clear saved provider credentials | `/logout` |
|
|
98
|
+
|
|
99
|
+
`/mcp add` without flags starts a guided wizard in the terminal UI.
|
|
100
|
+
`/memory` opens an interactive manager. `/memory <text>` saves a note to `memory.md` and reloads session context. Use `/memory edit <index> <text>` for direct updates.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Keyboard Shortcuts
|
|
105
|
+
|
|
106
|
+
### Application Controls
|
|
107
|
+
|
|
108
|
+
| Key | Action |
|
|
109
|
+
|-----|--------|
|
|
110
|
+
| `Esc` | Interrupt current agent run |
|
|
111
|
+
| `Ctrl+C` | Clear input or app-level clear |
|
|
112
|
+
| `Ctrl+D` | Exit the application |
|
|
113
|
+
| `Ctrl+Z` | Suspend process |
|
|
114
|
+
|
|
115
|
+
### Model & Profile
|
|
116
|
+
|
|
117
|
+
| Key | Action |
|
|
118
|
+
|-----|--------|
|
|
119
|
+
| `Shift+Tab` | Cycle profile (full → plan → iosm) |
|
|
120
|
+
| `Shift+Ctrl+T` | Cycle thinking level |
|
|
121
|
+
| `Ctrl+P` | Next model in rotation |
|
|
122
|
+
| `Shift+Ctrl+P` | Previous model in rotation |
|
|
123
|
+
| `Ctrl+L` | Open model selector |
|
|
124
|
+
|
|
125
|
+
### UI Controls
|
|
126
|
+
|
|
127
|
+
| Key | Action |
|
|
128
|
+
|-----|--------|
|
|
129
|
+
| `Ctrl+O` | Expand/collapse tool output details |
|
|
130
|
+
| `Ctrl+T` | Toggle thinking panel |
|
|
131
|
+
| `Ctrl+G` | Open external editor for input |
|
|
132
|
+
|
|
133
|
+
### Input & Queue
|
|
134
|
+
|
|
135
|
+
| Key | Action |
|
|
136
|
+
|-----|--------|
|
|
137
|
+
| `Ctrl+Enter` | Steer while streaming (macOS: `Ctrl+\\`) |
|
|
138
|
+
| `Alt+Enter` | Queue follow-up message |
|
|
139
|
+
| `Alt+Up` | Dequeue/edit queued draft |
|
|
140
|
+
| `Ctrl+V` | Paste image (Windows: `Alt+V`) |
|
|
141
|
+
|
|
142
|
+
### Customization
|
|
143
|
+
|
|
144
|
+
Override keybindings by creating `~/.iosm/agent/keybindings.json`:
|
|
145
|
+
|
|
146
|
+
```json
|
|
147
|
+
{
|
|
148
|
+
"Ctrl+P": "nextModel",
|
|
149
|
+
"Ctrl+Shift+P": "previousModel",
|
|
150
|
+
"Ctrl+L": "openModelSelector"
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Profiles
|
|
157
|
+
|
|
158
|
+
Profiles change the agent's behavior, available tools, and system prompt:
|
|
159
|
+
|
|
160
|
+
### Main Profiles (switchable via `Shift+Tab`)
|
|
161
|
+
|
|
162
|
+
| Profile | Tools | Use Case |
|
|
163
|
+
|---------|-------|----------|
|
|
164
|
+
| `full` | All (read, bash, edit, write, grep, find, ls) | Default development work |
|
|
165
|
+
| `plan` | Read-only (read, grep, find, ls) | Architecture planning, code review |
|
|
166
|
+
| `iosm` | All + IOSM context | IOSM cycle execution with artifact sync |
|
|
167
|
+
|
|
168
|
+
### Advanced Profiles (via `--profile` or orchestration)
|
|
169
|
+
|
|
170
|
+
| Profile | Use Case |
|
|
171
|
+
|---------|----------|
|
|
172
|
+
| `explore` | Exploratory codebase analysis |
|
|
173
|
+
| `iosm_analyst` | Deep metric analysis and reporting |
|
|
174
|
+
| `iosm_verifier` | Verify cycle results and quality gates |
|
|
175
|
+
| `cycle_planner` | Plan and structure IOSM cycles |
|
|
176
|
+
|
|
177
|
+
### Example: Planning Workflow
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# Start in plan mode for analysis
|
|
181
|
+
iosm --profile plan
|
|
182
|
+
|
|
183
|
+
# In the session:
|
|
184
|
+
# "Analyze the authentication module and propose a migration plan to OAuth 2.0"
|
|
185
|
+
|
|
186
|
+
# Switch to full mode for implementation (Shift+Tab)
|
|
187
|
+
# "Implement phase 1 of the OAuth migration"
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Streaming Input Modes
|
|
193
|
+
|
|
194
|
+
While a response is streaming, you can interact with it:
|
|
195
|
+
|
|
196
|
+
| Mode | Trigger | Behavior |
|
|
197
|
+
|------|---------|----------|
|
|
198
|
+
| **Steer** | `Ctrl+Enter` | Interrupt and redirect immediately |
|
|
199
|
+
| **Follow-up** | `Alt+Enter` | Queue message for after completion |
|
|
200
|
+
| **Meta** | Adaptive | Soft update at boundary checkpoints |
|
|
201
|
+
|
|
202
|
+
### Example: Steering
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
Agent: [streaming a long analysis of the codebase...]
|
|
206
|
+
|
|
207
|
+
You: (Ctrl+Enter) Focus specifically on the database layer
|
|
208
|
+
# Agent immediately redirects to database analysis
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Example: Follow-up Queue
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
Agent: [streaming response...]
|
|
215
|
+
|
|
216
|
+
You: (Alt+Enter) Also check for N+1 query issues
|
|
217
|
+
You: (Alt+Enter) And suggest indexing improvements
|
|
218
|
+
# Both messages will be processed after the current response
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Workflow Examples
|
|
224
|
+
|
|
225
|
+
### Code Review Session
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
iosm --profile plan --tools read,grep,find,ls
|
|
229
|
+
|
|
230
|
+
# "Review src/core/ for code quality issues, focusing on error handling"
|
|
231
|
+
# "Check for any security vulnerabilities in the auth module"
|
|
232
|
+
# "Generate a summary of findings sorted by severity"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Debugging Session
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
iosm --model sonnet:high
|
|
239
|
+
|
|
240
|
+
# "The checkout API returns 500 errors intermittently. Help me debug."
|
|
241
|
+
# Agent will use bash, read, grep to investigate
|
|
242
|
+
# "Run the failing test with verbose output"
|
|
243
|
+
# "Apply the fix and verify all tests pass"
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### IOSM Improvement Cycle
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
iosm --profile iosm
|
|
250
|
+
|
|
251
|
+
# "/init" (first time)
|
|
252
|
+
# "/cycle-plan reduce API response time"
|
|
253
|
+
# "Analyze the current baseline and create hypothesis cards"
|
|
254
|
+
# "Execute the Improve phase focusing on query optimization"
|
|
255
|
+
# "/cycle-status"
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Multi-Agent Orchestration
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
iosm
|
|
262
|
+
|
|
263
|
+
# "Launch 3 parallel agents to:
|
|
264
|
+
# 1. Audit auth module security
|
|
265
|
+
# 2. Review database query performance
|
|
266
|
+
# 3. Check API contract compliance"
|
|
267
|
+
|
|
268
|
+
# Or via slash command:
|
|
269
|
+
/orchestrate --parallel --agents 3 \
|
|
270
|
+
--profiles explore,explore,iosm_verifier \
|
|
271
|
+
Audit security, performance, and contracts
|
|
272
|
+
```
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
# IOSM Init & Cycles
|
|
2
|
+
|
|
3
|
+
IOSM (**Improve → Optimize → Shrink → Modularize**) is an algorithmic methodology for systematic engineering improvement. This document covers workspace bootstrapping and cycle operations.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Each IOSM cycle follows a fixed execution order:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
PLAN → HYPOTHESIZE → IMPROVE → GATE_I → OPTIMIZE → GATE_O → SHRINK → GATE_S → MODULARIZE → GATE_M → SCORE → LEARN → DECIDE
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Every phase is evaluated against a Quality Gate. The methodology tracks six canonical metrics, computes an IOSM-Index, and determines whether to continue, stop, or fail.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## `iosm init`
|
|
18
|
+
|
|
19
|
+
Bootstrap IOSM artifacts for a project:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
iosm init [path] [--force] [--agent-verify|--no-agent-verify]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
| Flag | Description |
|
|
26
|
+
|------|-------------|
|
|
27
|
+
| `path` | Target directory (default: current directory) |
|
|
28
|
+
| `--force` | Recreate artifacts even if they exist |
|
|
29
|
+
| `--agent-verify` | Run post-init agent verification (default) |
|
|
30
|
+
| `--no-agent-verify` | Skip the verification step |
|
|
31
|
+
|
|
32
|
+
### What It Creates
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Initialize current project
|
|
36
|
+
iosm init
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This generates:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
project/
|
|
43
|
+
├── iosm.yaml # ← Method configuration
|
|
44
|
+
├── IOSM.md # ← Operator/agent playbook
|
|
45
|
+
└── .iosm/
|
|
46
|
+
├── metrics-history.jsonl # Longitudinal cycle metrics
|
|
47
|
+
├── decision-log.md # Historical decisions and rationale
|
|
48
|
+
├── pattern-library.md # Reusable implementation patterns
|
|
49
|
+
├── waivers.yaml # Governance exceptions
|
|
50
|
+
├── invariants.yaml # Logic baseline (invariant catalog)
|
|
51
|
+
├── contracts.yaml # Boundary control (contract catalog)
|
|
52
|
+
└── cycles/ # Per-cycle artifact storage
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Example: Initialize with Verification
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Full init with agent-powered analysis
|
|
59
|
+
iosm init
|
|
60
|
+
|
|
61
|
+
# This will:
|
|
62
|
+
# 1. Analyze your codebase
|
|
63
|
+
# 2. Generate a tailored iosm.yaml with appropriate thresholds
|
|
64
|
+
# 3. Create an IOSM.md playbook with project-specific guidance
|
|
65
|
+
# 4. Verify the configuration is valid
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Example: Quick Init without Analysis
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Skip the agent verification
|
|
72
|
+
iosm init --no-agent-verify
|
|
73
|
+
|
|
74
|
+
# Force re-init for an existing workspace
|
|
75
|
+
iosm init --force
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Configuration: `iosm.yaml`
|
|
81
|
+
|
|
82
|
+
The `iosm.yaml` file controls all methodology parameters. Here's a fully annotated example:
|
|
83
|
+
|
|
84
|
+
```yaml
|
|
85
|
+
iosm:
|
|
86
|
+
metadata:
|
|
87
|
+
system_name: billing-api # System under improvement
|
|
88
|
+
scope: service # Scope level
|
|
89
|
+
criticality_profile: standard # standard | critical | exploratory
|
|
90
|
+
delivery_boundary: billing-api # Unit for delivery flow measurement
|
|
91
|
+
|
|
92
|
+
planning:
|
|
93
|
+
use_economic_decision: true # Use WSJF-based prioritization
|
|
94
|
+
prioritization_formula: wsjf_confidence
|
|
95
|
+
min_confidence: 0.70 # Minimum confidence to select a goal
|
|
96
|
+
hypothesis_required: true # Require hypothesis cards
|
|
97
|
+
cycle_scope_required: true # Require explicit scope declaration
|
|
98
|
+
|
|
99
|
+
cycle_capacity:
|
|
100
|
+
max_goals: 3 # Max goals per cycle
|
|
101
|
+
max_scope_items: 5 # Max scope elements
|
|
102
|
+
max_expected_change_surface: 3 # Max coordinated changes
|
|
103
|
+
|
|
104
|
+
cycle_policy:
|
|
105
|
+
max_iterations_per_phase: 3 # Retry limit per phase
|
|
106
|
+
stabilization:
|
|
107
|
+
target_index: 0.98 # Target IOSM-Index for stabilization
|
|
108
|
+
consecutive_cycles: 3 # Consecutive stable cycles needed
|
|
109
|
+
global_metric_floor: 0.60 # Minimum for any metric
|
|
110
|
+
max_consecutive_unexplained_declines: 2
|
|
111
|
+
|
|
112
|
+
quality_gates:
|
|
113
|
+
gate_I: # Improve gate
|
|
114
|
+
semantic_min: 0.95
|
|
115
|
+
logical_consistency_min: 1.00
|
|
116
|
+
duplication_max: 0.05
|
|
117
|
+
gate_O: # Optimize gate
|
|
118
|
+
latency_ms:
|
|
119
|
+
p50_max: 60
|
|
120
|
+
p95_max: 150
|
|
121
|
+
p99_max: 250
|
|
122
|
+
error_budget_respected: true
|
|
123
|
+
gate_S: # Shrink gate
|
|
124
|
+
at_least_one_dimension: true
|
|
125
|
+
api_surface_reduction_min: 0.20
|
|
126
|
+
dependency_hygiene_min: 0.95
|
|
127
|
+
gate_M: # Modularize gate
|
|
128
|
+
change_surface_max: 3
|
|
129
|
+
coupling_max: 0.20
|
|
130
|
+
cohesion_min: 0.80
|
|
131
|
+
contracts_pass: true
|
|
132
|
+
|
|
133
|
+
guardrails:
|
|
134
|
+
max_negative_delta: # Maximum allowed regression per metric
|
|
135
|
+
semantic: 0.02
|
|
136
|
+
logic: 0.00 # Zero tolerance for logic regression
|
|
137
|
+
performance: 0.03
|
|
138
|
+
simplicity: 0.03
|
|
139
|
+
modularity: 0.02
|
|
140
|
+
flow: 0.02
|
|
141
|
+
|
|
142
|
+
index:
|
|
143
|
+
weights: # Must sum to 1.0
|
|
144
|
+
semantic: 0.15
|
|
145
|
+
logic: 0.20
|
|
146
|
+
performance: 0.25
|
|
147
|
+
simplicity: 0.15
|
|
148
|
+
modularity: 0.15
|
|
149
|
+
flow: 0.10
|
|
150
|
+
|
|
151
|
+
evidence:
|
|
152
|
+
min_decision_confidence: 0.80
|
|
153
|
+
freshness_sla_hours:
|
|
154
|
+
tier_a: 24 # Production evidence freshness
|
|
155
|
+
tier_b: 168 # Staging evidence freshness
|
|
156
|
+
|
|
157
|
+
automation:
|
|
158
|
+
allow_agents: true
|
|
159
|
+
human_approval_required_for:
|
|
160
|
+
- waivers
|
|
161
|
+
- public_contract_changes
|
|
162
|
+
- threshold_relaxation
|
|
163
|
+
- destructive_data_changes
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Cycle Commands
|
|
169
|
+
|
|
170
|
+
### List Cycles
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
iosm cycle list
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Shows all known cycles with their status, scope, and last decision.
|
|
177
|
+
|
|
178
|
+
### Plan a New Cycle
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
iosm cycle plan [--id <cycle-id>] [--force] <goal...>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Examples:**
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Plan with auto-generated ID
|
|
188
|
+
iosm cycle plan "reduce checkout latency" "simplify auth flow"
|
|
189
|
+
|
|
190
|
+
# Plan with a specific cycle ID
|
|
191
|
+
iosm cycle plan --id cycle-2026-q1 "modernize API contracts"
|
|
192
|
+
|
|
193
|
+
# Force re-plan an existing cycle
|
|
194
|
+
iosm cycle plan --force "optimize database queries"
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Planning creates:
|
|
198
|
+
- Cycle scope declaration
|
|
199
|
+
- Hypothesis cards with expected metric impacts
|
|
200
|
+
- Baseline report
|
|
201
|
+
- Empty phase report scaffolds
|
|
202
|
+
|
|
203
|
+
### View Cycle Report
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
iosm cycle report [cycle-id]
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Outputs a full JSON cycle report including:
|
|
210
|
+
- Goals and scope
|
|
211
|
+
- All phase results
|
|
212
|
+
- Metric values (before/after)
|
|
213
|
+
- Quality gate pass/fail status
|
|
214
|
+
- IOSM-Index and decision confidence
|
|
215
|
+
- Guardrail violations (if any)
|
|
216
|
+
|
|
217
|
+
### Check Cycle Status
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
iosm cycle status [cycle-id]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Human-readable summary showing:
|
|
224
|
+
- Phase completion progress
|
|
225
|
+
- Gate pass/fail indicators
|
|
226
|
+
- Current metric values
|
|
227
|
+
- Blocking issues or waivers
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Six Canonical Metrics
|
|
232
|
+
|
|
233
|
+
Every cycle measures these normalized metrics (0.0–1.0):
|
|
234
|
+
|
|
235
|
+
| Metric | What It Measures | Example Indicators |
|
|
236
|
+
|--------|-----------------|-------------------|
|
|
237
|
+
| `semantic` | Terminology and naming coherence | Glossary coverage, naming consistency, ambiguity ratio |
|
|
238
|
+
| `logic` | Invariant correctness | Invariant pass rate, logical consistency |
|
|
239
|
+
| `performance` | Latency, reliability, resilience | p50/p95/p99 latency, error budget, chaos pass rate |
|
|
240
|
+
| `simplicity` | Cognitive load and interface size | Onboarding time, API surface area, dependency count |
|
|
241
|
+
| `modularity` | Decoupling and contract discipline | Change surface, coupling, cohesion, contract compliance |
|
|
242
|
+
| `flow` | Delivery throughput and safety | Lead time, deploy frequency, change failure rate |
|
|
243
|
+
|
|
244
|
+
### IOSM-Index
|
|
245
|
+
|
|
246
|
+
The aggregate health score is computed as a weighted sum:
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
IOSM-Index = Σ (weight[metric] × value[metric])
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Default weights sum to 1.0 and can be customized in `iosm.yaml`.
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Cycle Lifecycle Example
|
|
257
|
+
|
|
258
|
+
### Step-by-Step Walkthrough
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# 1. Initialize the workspace
|
|
262
|
+
iosm init
|
|
263
|
+
# → Creates iosm.yaml, IOSM.md, and .iosm/ workspace
|
|
264
|
+
|
|
265
|
+
# 2. Plan a cycle
|
|
266
|
+
iosm cycle plan "reduce API response time by 30%"
|
|
267
|
+
# → Creates baseline report, hypothesis cards, empty phase reports
|
|
268
|
+
|
|
269
|
+
# 3. Enter IOSM mode
|
|
270
|
+
iosm --profile iosm
|
|
271
|
+
# → Agent has full IOSM context and artifact awareness
|
|
272
|
+
|
|
273
|
+
# 4. Execute the cycle (within interactive mode)
|
|
274
|
+
# The agent will work through:
|
|
275
|
+
# IMPROVE → Focus on semantic clarity and correctness
|
|
276
|
+
# OPTIMIZE → Target performance improvements
|
|
277
|
+
# SHRINK → Reduce complexity and surface area
|
|
278
|
+
# MODULARIZE → Improve boundaries and contracts
|
|
279
|
+
|
|
280
|
+
# 5. Check progress
|
|
281
|
+
iosm cycle status
|
|
282
|
+
# → Shows which phases are complete and gate results
|
|
283
|
+
|
|
284
|
+
# 6. View final report
|
|
285
|
+
iosm cycle report
|
|
286
|
+
# → Full metrics, hypotheses evaluation, IOSM-Index, decision
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Hypothesis Cards
|
|
292
|
+
|
|
293
|
+
Each goal requires a formal hypothesis card:
|
|
294
|
+
|
|
295
|
+
```yaml
|
|
296
|
+
hypothesis:
|
|
297
|
+
id: hyp-latency-001
|
|
298
|
+
goal_id: reduce-checkout-latency
|
|
299
|
+
owner: payments-team
|
|
300
|
+
statement: >
|
|
301
|
+
If cache miss paths are removed, p95 latency
|
|
302
|
+
will decrease without harming API clarity.
|
|
303
|
+
expected_positive_delta:
|
|
304
|
+
performance: 0.05
|
|
305
|
+
allowed_negative_delta:
|
|
306
|
+
semantic: 0.00
|
|
307
|
+
logic: 0.00
|
|
308
|
+
simplicity: 0.02
|
|
309
|
+
modularity: 0.01
|
|
310
|
+
flow: 0.01
|
|
311
|
+
expected_business_signal:
|
|
312
|
+
metric: checkout_conversion
|
|
313
|
+
direction: up
|
|
314
|
+
validation:
|
|
315
|
+
method: production_observation
|
|
316
|
+
window: 7d
|
|
317
|
+
rollback_trigger:
|
|
318
|
+
- contracts_break
|
|
319
|
+
- change_failure_rate_up_10_percent
|
|
320
|
+
confidence: 0.80
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Post-Change Synchronization
|
|
326
|
+
|
|
327
|
+
When working through a cycle, keep IOSM artifacts in sync:
|
|
328
|
+
|
|
329
|
+
- **Update metrics** — Refresh cycle metrics and confidence fields after changes
|
|
330
|
+
- **Track hypotheses** — Record whether expected deltas were achieved
|
|
331
|
+
- **Phase reports** — Fill in phase reports with actual outcomes
|
|
332
|
+
- **Decision log** — Document decisions in `.iosm/decision-log.md`
|
|
333
|
+
- **Pattern library** — Record successful patterns in `.iosm/pattern-library.md`
|
|
334
|
+
|
|
335
|
+
The `iosm` profile automatically guides the agent to maintain this synchronization.
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## Operating Profiles
|
|
340
|
+
|
|
341
|
+
| Profile | Use Case | Evidence Strictness |
|
|
342
|
+
|---------|----------|-------------------|
|
|
343
|
+
| `standard` | Most production systems | Normal |
|
|
344
|
+
| `critical` | Safety/revenue-critical systems | Strict — shorter waivers, higher confidence |
|
|
345
|
+
| `exploratory` | Prototyping and discovery | Relaxed — cannot claim stabilization |
|
|
346
|
+
|
|
347
|
+
Set in `iosm.yaml` under `metadata.criticality_profile`.
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## Further Reading
|
|
352
|
+
|
|
353
|
+
- [IOSM Specification](../iosm-spec.md) — Full 1600-line methodology specification
|
|
354
|
+
- [Configuration](./configuration.md) — Complete config reference
|
|
355
|
+
- [Interactive Mode](./interactive-mode.md) — IOSM slash commands
|