@ahmed-g-gad/apothem 0.1.1
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 +60 -0
- package/LICENSE +21 -0
- package/LICENSES/MIT.txt +18 -0
- package/LICENSES/PSF-2.0.txt +47 -0
- package/README.md +549 -0
- package/bin/README.md +37 -0
- package/bin/apothem.mjs +78 -0
- package/package.json +75 -0
- package/pyproject.toml +347 -0
- package/src/apothem/README.md +52 -0
- package/src/apothem/__init__.py +66 -0
- package/src/apothem/__main__.py +28 -0
- package/src/apothem/_vendor/.keep +0 -0
- package/src/apothem/_vendor/__init__.py +25 -0
- package/src/apothem/_vendor/attr/__init__.py +104 -0
- package/src/apothem/_vendor/attr/__init__.pyi +389 -0
- package/src/apothem/_vendor/attr/_cmp.py +160 -0
- package/src/apothem/_vendor/attr/_cmp.pyi +13 -0
- package/src/apothem/_vendor/attr/_compat.py +99 -0
- package/src/apothem/_vendor/attr/_config.py +31 -0
- package/src/apothem/_vendor/attr/_funcs.py +497 -0
- package/src/apothem/_vendor/attr/_make.py +3406 -0
- package/src/apothem/_vendor/attr/_next_gen.py +674 -0
- package/src/apothem/_vendor/attr/_typing_compat.pyi +15 -0
- package/src/apothem/_vendor/attr/_version_info.py +89 -0
- package/src/apothem/_vendor/attr/_version_info.pyi +9 -0
- package/src/apothem/_vendor/attr/converters.py +162 -0
- package/src/apothem/_vendor/attr/converters.pyi +19 -0
- package/src/apothem/_vendor/attr/exceptions.py +95 -0
- package/src/apothem/_vendor/attr/exceptions.pyi +17 -0
- package/src/apothem/_vendor/attr/filters.py +72 -0
- package/src/apothem/_vendor/attr/filters.pyi +6 -0
- package/src/apothem/_vendor/attr/py.typed +0 -0
- package/src/apothem/_vendor/attr/setters.py +79 -0
- package/src/apothem/_vendor/attr/setters.pyi +20 -0
- package/src/apothem/_vendor/attr/validators.py +750 -0
- package/src/apothem/_vendor/attr/validators.pyi +140 -0
- package/src/apothem/_vendor/attr.LICENSE +21 -0
- package/src/apothem/_vendor/attrs/__init__.py +72 -0
- package/src/apothem/_vendor/attrs/__init__.pyi +314 -0
- package/src/apothem/_vendor/attrs/converters.py +3 -0
- package/src/apothem/_vendor/attrs/exceptions.py +3 -0
- package/src/apothem/_vendor/attrs/filters.py +3 -0
- package/src/apothem/_vendor/attrs/py.typed +0 -0
- package/src/apothem/_vendor/attrs/setters.py +3 -0
- package/src/apothem/_vendor/attrs/validators.py +3 -0
- package/src/apothem/_vendor/attrs.LICENSE +21 -0
- package/src/apothem/_vendor/jsonschema/__init__.py +120 -0
- package/src/apothem/_vendor/jsonschema/__main__.py +6 -0
- package/src/apothem/_vendor/jsonschema/_format.py +546 -0
- package/src/apothem/_vendor/jsonschema/_keywords.py +449 -0
- package/src/apothem/_vendor/jsonschema/_legacy_keywords.py +449 -0
- package/src/apothem/_vendor/jsonschema/_types.py +204 -0
- package/src/apothem/_vendor/jsonschema/_typing.py +29 -0
- package/src/apothem/_vendor/jsonschema/_utils.py +355 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/__init__.py +5 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/const_vs_enum.py +30 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/contains.py +28 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/import_benchmark.py +31 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/issue232/issue.json +2653 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/issue232.py +25 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/json_schema_test_suite.py +12 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/nested_schemas.py +56 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/subcomponents.py +42 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/unused_registry.py +35 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/useless_applicator_schemas.py +106 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/useless_keywords.py +32 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/validator_creation.py +14 -0
- package/src/apothem/_vendor/jsonschema/cli.py +292 -0
- package/src/apothem/_vendor/jsonschema/exceptions.py +490 -0
- package/src/apothem/_vendor/jsonschema/protocols.py +230 -0
- package/src/apothem/_vendor/jsonschema/validators.py +1410 -0
- package/src/apothem/_vendor/jsonschema.LICENSE +19 -0
- package/src/apothem/_vendor/jsonschema_specifications/__init__.py +12 -0
- package/src/apothem/_vendor/jsonschema_specifications/_core.py +38 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/metaschema.json +42 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +56 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/content +17 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/core +57 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/format +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +37 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/validation +98 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/metaschema.json +58 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +48 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/content +17 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/core +51 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +37 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +15 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/validation +98 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft3/metaschema.json +172 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft4/metaschema.json +149 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft6/metaschema.json +153 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft7/metaschema.json +166 -0
- package/src/apothem/_vendor/jsonschema_specifications.LICENSE +19 -0
- package/src/apothem/_vendor/referencing/__init__.py +7 -0
- package/src/apothem/_vendor/referencing/_attrs.py +31 -0
- package/src/apothem/_vendor/referencing/_attrs.pyi +21 -0
- package/src/apothem/_vendor/referencing/_core.py +739 -0
- package/src/apothem/_vendor/referencing/exceptions.py +165 -0
- package/src/apothem/_vendor/referencing/jsonschema.py +642 -0
- package/src/apothem/_vendor/referencing/py.typed +0 -0
- package/src/apothem/_vendor/referencing/retrieval.py +94 -0
- package/src/apothem/_vendor/referencing/typing.py +61 -0
- package/src/apothem/_vendor/referencing.LICENSE +19 -0
- package/src/apothem/_vendor/rpds/__init__.py +251 -0
- package/src/apothem/_vendor/typing_extensions.LICENSE +279 -0
- package/src/apothem/_vendor/typing_extensions.py +4317 -0
- package/src/apothem/_vendor/vendor.txt +22 -0
- package/src/apothem/_vendor/yaml/__init__.py +389 -0
- package/src/apothem/_vendor/yaml/composer.py +138 -0
- package/src/apothem/_vendor/yaml/constructor.py +748 -0
- package/src/apothem/_vendor/yaml/cyaml.py +100 -0
- package/src/apothem/_vendor/yaml/dumper.py +61 -0
- package/src/apothem/_vendor/yaml/emitter.py +1137 -0
- package/src/apothem/_vendor/yaml/error.py +74 -0
- package/src/apothem/_vendor/yaml/events.py +85 -0
- package/src/apothem/_vendor/yaml/loader.py +63 -0
- package/src/apothem/_vendor/yaml/nodes.py +48 -0
- package/src/apothem/_vendor/yaml/parser.py +588 -0
- package/src/apothem/_vendor/yaml/reader.py +185 -0
- package/src/apothem/_vendor/yaml/representer.py +388 -0
- package/src/apothem/_vendor/yaml/resolver.py +226 -0
- package/src/apothem/_vendor/yaml/scanner.py +1435 -0
- package/src/apothem/_vendor/yaml/serializer.py +110 -0
- package/src/apothem/_vendor/yaml/tokens.py +103 -0
- package/src/apothem/_vendor/yaml.LICENSE +20 -0
- package/src/apothem/agents/README.md +60 -0
- package/src/apothem/agents/codebase-explorer.md +91 -0
- package/src/apothem/agents/convention-auditor.md +93 -0
- package/src/apothem/agents/dependency-auditor.md +97 -0
- package/src/apothem/agents/fact-checker.md +84 -0
- package/src/apothem/agents/mcp-builder.md +86 -0
- package/src/apothem/agents/memory-auditor.md +93 -0
- package/src/apothem/agents/prompt-evaluator.md +87 -0
- package/src/apothem/agents/quality-gate.md +103 -0
- package/src/apothem/agents/refactor-surgeon.md +74 -0
- package/src/apothem/agents/research-scout.md +73 -0
- package/src/apothem/agents/security-scanner.md +83 -0
- package/src/apothem/agents/test-runner.md +84 -0
- package/src/apothem/audit/README.md +73 -0
- package/src/apothem/audit/_scan_lib.py +182 -0
- package/src/apothem/audit/analyze_graph.py +260 -0
- package/src/apothem/audit/build_capability_graph.py +607 -0
- package/src/apothem/audit/build_inventory.py +657 -0
- package/src/apothem/audit/build_plans_provenance.py +997 -0
- package/src/apothem/audit/check_links.py +389 -0
- package/src/apothem/audit/classify_artifacts.py +381 -0
- package/src/apothem/audit/deprecated-tokens.txt +10 -0
- package/src/apothem/audit/execute_plans_migration.py +491 -0
- package/src/apothem/audit/known-projects.txt +15 -0
- package/src/apothem/audit/render_capability_index.py +467 -0
- package/src/apothem/audit/render_inventory.py +405 -0
- package/src/apothem/audit/scan_ai_surfaces.py +1125 -0
- package/src/apothem/audit/scan_ai_surfaces_coarse.py +261 -0
- package/src/apothem/audit/scan_drift_features.py +143 -0
- package/src/apothem/audit/scan_frontmatter.py +293 -0
- package/src/apothem/audit/scan_header_coverage.py +1134 -0
- package/src/apothem/audit/scan_plan_leakage.py +540 -0
- package/src/apothem/audit/scan_plans_discipline.py +188 -0
- package/src/apothem/audit/scan_secrets_pii.py +245 -0
- package/src/apothem/audit/scan_stale_tokens.py +296 -0
- package/src/apothem/audit/synthesize_drift.py +205 -0
- package/src/apothem/benchmarks/README.md +33 -0
- package/src/apothem/benchmarks/__init__.py +3 -0
- package/src/apothem/benchmarks/bench_agents.py +63 -0
- package/src/apothem/benchmarks/bench_hooks.py +93 -0
- package/src/apothem/benchmarks/bench_install.py +58 -0
- package/src/apothem/benchmarks/bench_tests.py +93 -0
- package/src/apothem/benchmarks/bench_validate_ecosystem.py +84 -0
- package/src/apothem/cli/README.md +33 -0
- package/src/apothem/cli/__init__.py +229 -0
- package/src/apothem/cli/_cmd_completion.py +88 -0
- package/src/apothem/cli/_cmd_diff.py +181 -0
- package/src/apothem/cli/_cmd_doctor.py +143 -0
- package/src/apothem/cli/_cmd_harnesses.py +167 -0
- package/src/apothem/cli/_cmd_install.py +327 -0
- package/src/apothem/cli/_cmd_migrate_workspace.py +143 -0
- package/src/apothem/cli/_cmd_profile.py +341 -0
- package/src/apothem/cli/_cmd_status.py +180 -0
- package/src/apothem/cli/_cmd_uninstall.py +215 -0
- package/src/apothem/cli/_cmd_update.py +397 -0
- package/src/apothem/cli/_cmd_verify.py +194 -0
- package/src/apothem/cli/_common_flags.py +90 -0
- package/src/apothem/cli/_epilogs.py +296 -0
- package/src/apothem/cli/_helpers.py +857 -0
- package/src/apothem/cli/_json_formatter.py +21 -0
- package/src/apothem/cli/_materialize.py +376 -0
- package/src/apothem/cli/completions/apothem.bash +30 -0
- package/src/apothem/cli/completions/apothem.fish +19 -0
- package/src/apothem/cli/completions/apothem.ps1 +27 -0
- package/src/apothem/cli/completions/apothem.zsh +42 -0
- package/src/apothem/cli/reference_export.py +126 -0
- package/src/apothem/commands/README.md +125 -0
- package/src/apothem/commands/a11y-audit.md +203 -0
- package/src/apothem/commands/architecture-review.md +194 -0
- package/src/apothem/commands/audit.md +165 -0
- package/src/apothem/commands/code-audit.md +218 -0
- package/src/apothem/commands/code-review.md +193 -0
- package/src/apothem/commands/dependency-audit.md +209 -0
- package/src/apothem/commands/docs-review.md +199 -0
- package/src/apothem/commands/elevate.md +285 -0
- package/src/apothem/commands/eval.md +149 -0
- package/src/apothem/commands/fortress.md +172 -0
- package/src/apothem/commands/freshify.md +168 -0
- package/src/apothem/commands/github-deploy-fresh.md +178 -0
- package/src/apothem/commands/github-deploy-next.md +167 -0
- package/src/apothem/commands/perf-audit.md +198 -0
- package/src/apothem/commands/plan-amend.md +104 -0
- package/src/apothem/commands/plan-audit.md +127 -0
- package/src/apothem/commands/plan-design.md +257 -0
- package/src/apothem/commands/plan-execute.md +495 -0
- package/src/apothem/commands/plan-generate.md +351 -0
- package/src/apothem/commands/plan-review.md +555 -0
- package/src/apothem/commands/plan-spec.md +359 -0
- package/src/apothem/commands/plan-status.md +222 -0
- package/src/apothem/commands/plan.md +173 -0
- package/src/apothem/commands/projectify.md +142 -0
- package/src/apothem/commands/release-readiness.md +142 -0
- package/src/apothem/commands/research-analysis.md +241 -0
- package/src/apothem/commands/research-design.md +231 -0
- package/src/apothem/commands/research-disseminate.md +225 -0
- package/src/apothem/commands/research-experiment.md +232 -0
- package/src/apothem/commands/research-ideate.md +213 -0
- package/src/apothem/commands/research-paper.md +252 -0
- package/src/apothem/commands/research-proposal.md +220 -0
- package/src/apothem/commands/research-publish.md +255 -0
- package/src/apothem/commands/research-review.md +251 -0
- package/src/apothem/commands/research-sources.md +266 -0
- package/src/apothem/commands/research-spec.md +255 -0
- package/src/apothem/commands/research-synthesis.md +233 -0
- package/src/apothem/commands/research-theory.md +218 -0
- package/src/apothem/commands/research.md +181 -0
- package/src/apothem/commands/security-audit.md +196 -0
- package/src/apothem/commands/supply-chain-audit.md +192 -0
- package/src/apothem/commands/test-suite.md +146 -0
- package/src/apothem/commands/threat-model-audit.md +199 -0
- package/src/apothem/commands/ux-review.md +202 -0
- package/src/apothem/commands/workflow.md +162 -0
- package/src/apothem/conformity/README.md +173 -0
- package/src/apothem/conformity/__init__.py +1 -0
- package/src/apothem/conformity/_grep_base.py +93 -0
- package/src/apothem/conformity/agent_capability_grep.py +306 -0
- package/src/apothem/conformity/agents_md_coverage_grep.py +382 -0
- package/src/apothem/conformity/agnosticism_grep.py +311 -0
- package/src/apothem/conformity/always_on_budget_grep.py +318 -0
- package/src/apothem/conformity/bare_except_grep.py +115 -0
- package/src/apothem/conformity/binding_reciprocity_grep.py +151 -0
- package/src/apothem/conformity/brand_mark_grep.py +272 -0
- package/src/apothem/conformity/commented_out_code_grep.py +176 -0
- package/src/apothem/conformity/completion_claim_grep.py +169 -0
- package/src/apothem/conformity/conventional_commit_grep.py +319 -0
- package/src/apothem/conformity/copilot_instructions_presence_grep.py +324 -0
- package/src/apothem/conformity/cross_platform_matrix_grep.py +297 -0
- package/src/apothem/conformity/determinism_grep.py +306 -0
- package/src/apothem/conformity/diagram_staleness_grep.py +154 -0
- package/src/apothem/conformity/dynamism_grep.py +284 -0
- package/src/apothem/conformity/editorconfig_presence_grep.py +281 -0
- package/src/apothem/conformity/file_header_grep.py +502 -0
- package/src/apothem/conformity/freshness_token_grep.py +233 -0
- package/src/apothem/conformity/frontmatter_grep.py +274 -0
- package/src/apothem/conformity/frontmatter_value_grep.py +386 -0
- package/src/apothem/conformity/gate.py +1386 -0
- package/src/apothem/conformity/gitattributes_presence_grep.py +238 -0
- package/src/apothem/conformity/harden_runner_grep.py +320 -0
- package/src/apothem/conformity/hedging_grep.py +129 -0
- package/src/apothem/conformity/license_author_consistency_grep.py +204 -0
- package/src/apothem/conformity/link_check.py +327 -0
- package/src/apothem/conformity/magic_number_grep.py +182 -0
- package/src/apothem/conformity/multi_surface_coherence_grep.py +620 -0
- package/src/apothem/conformity/naming_grep.py +224 -0
- package/src/apothem/conformity/no_global_plans_grep.py +339 -0
- package/src/apothem/conformity/no_toplevel_docs_grep.py +120 -0
- package/src/apothem/conformity/oidc_trusted_publishing_grep.py +291 -0
- package/src/apothem/conformity/option_annotation_grep.py +352 -0
- package/src/apothem/conformity/orphan_output_grep.py +206 -0
- package/src/apothem/conformity/permissions_minimum_scope_grep.py +299 -0
- package/src/apothem/conformity/plain_language_grep.py +559 -0
- package/src/apothem/conformity/plan_next_step_consistency_grep.py +450 -0
- package/src/apothem/conformity/plan_suite_structure_grep.py +534 -0
- package/src/apothem/conformity/plans_discipline_language_grep.py +245 -0
- package/src/apothem/conformity/production_ready_pr_grep.py +200 -0
- package/src/apothem/conformity/recommend_next_step_grep.py +250 -0
- package/src/apothem/conformity/redundancy_grep.py +401 -0
- package/src/apothem/conformity/reference_token_grep.py +230 -0
- package/src/apothem/conformity/registry_capability_consistency_grep.py +368 -0
- package/src/apothem/conformity/secret_leak_grep.py +193 -0
- package/src/apothem/conformity/semver_stability_grep.py +358 -0
- package/src/apothem/conformity/smoke_install_grep.py +194 -0
- package/src/apothem/conformity/static_version_grep.py +284 -0
- package/src/apothem/conformity/token_efficiency_grep.py +185 -0
- package/src/apothem/conformity/unpinned_action_grep.py +115 -0
- package/src/apothem/conformity/user_confirm_grep.py +74 -0
- package/src/apothem/conformity/workflow_concurrency_grep.py +283 -0
- package/src/apothem/harnesses/README.md +63 -0
- package/src/apothem/harnesses/__init__.py +16 -0
- package/src/apothem/harnesses/_shared/README.md +36 -0
- package/src/apothem/harnesses/_shared/__init__.py +12 -0
- package/src/apothem/harnesses/_shared/install_driver.py +281 -0
- package/src/apothem/harnesses/_shared/install_driver_apply.py +612 -0
- package/src/apothem/harnesses/_shared/install_driver_backup.py +535 -0
- package/src/apothem/harnesses/_shared/install_driver_converters.py +310 -0
- package/src/apothem/harnesses/_shared/install_driver_lifecycle.py +495 -0
- package/src/apothem/harnesses/_shared/install_driver_materialize.py +675 -0
- package/src/apothem/harnesses/_shared/install_driver_merge.py +656 -0
- package/src/apothem/harnesses/_shared/install_driver_pathsafety.py +137 -0
- package/src/apothem/harnesses/_shared/install_driver_planvalidation.py +240 -0
- package/src/apothem/harnesses/_shared/install_driver_removal.py +366 -0
- package/src/apothem/harnesses/_shared/install_driver_treeops.py +248 -0
- package/src/apothem/harnesses/_shared/install_driver_types.py +330 -0
- package/src/apothem/harnesses/_shared/wrapper_factories.py +448 -0
- package/src/apothem/harnesses/antigravity/STANDARD-CONVENTION-PIN.md +91 -0
- package/src/apothem/harnesses/antigravity/__init__.py +70 -0
- package/src/apothem/harnesses/antigravity/capabilities.yml +40 -0
- package/src/apothem/harnesses/antigravity/install.py +63 -0
- package/src/apothem/harnesses/antigravity/templates/GEMINI.md +40 -0
- package/src/apothem/harnesses/antigravity/templates/plugin.json +5 -0
- package/src/apothem/harnesses/antigravity/uninstall.py +22 -0
- package/src/apothem/harnesses/antigravity/update.py +10 -0
- package/src/apothem/harnesses/antigravity/verify.py +11 -0
- package/src/apothem/harnesses/claude_code/STANDARD-CONVENTION-PIN.md +65 -0
- package/src/apothem/harnesses/claude_code/__init__.py +107 -0
- package/src/apothem/harnesses/claude_code/capabilities.yml +42 -0
- package/src/apothem/harnesses/claude_code/install.py +147 -0
- package/src/apothem/harnesses/claude_code/templates/settings.json +351 -0
- package/src/apothem/harnesses/claude_code/uninstall.py +23 -0
- package/src/apothem/harnesses/claude_code/update.py +10 -0
- package/src/apothem/harnesses/claude_code/verify.py +11 -0
- package/src/apothem/harnesses/codebuddy/STANDARD-CONVENTION-PIN.md +74 -0
- package/src/apothem/harnesses/codebuddy/__init__.py +49 -0
- package/src/apothem/harnesses/codebuddy/capabilities.yml +34 -0
- package/src/apothem/harnesses/codebuddy/install.py +40 -0
- package/src/apothem/harnesses/codebuddy/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/codebuddy/uninstall.py +25 -0
- package/src/apothem/harnesses/codebuddy/update.py +10 -0
- package/src/apothem/harnesses/codebuddy/verify.py +11 -0
- package/src/apothem/harnesses/codex/STANDARD-CONVENTION-PIN.md +79 -0
- package/src/apothem/harnesses/codex/__init__.py +72 -0
- package/src/apothem/harnesses/codex/capabilities.yml +40 -0
- package/src/apothem/harnesses/codex/install.py +69 -0
- package/src/apothem/harnesses/codex/templates/AGENTS.md +40 -0
- package/src/apothem/harnesses/codex/templates/hooks.json +127 -0
- package/src/apothem/harnesses/codex/uninstall.py +23 -0
- package/src/apothem/harnesses/codex/update.py +10 -0
- package/src/apothem/harnesses/codex/verify.py +11 -0
- package/src/apothem/harnesses/cursor/STANDARD-CONVENTION-PIN.md +79 -0
- package/src/apothem/harnesses/cursor/__init__.py +48 -0
- package/src/apothem/harnesses/cursor/capabilities.yml +42 -0
- package/src/apothem/harnesses/cursor/install.py +38 -0
- package/src/apothem/harnesses/cursor/templates/apothem-rules.mdc +40 -0
- package/src/apothem/harnesses/cursor/uninstall.py +25 -0
- package/src/apothem/harnesses/cursor/update.py +10 -0
- package/src/apothem/harnesses/cursor/verify.py +11 -0
- package/src/apothem/harnesses/gemini_cli/STANDARD-CONVENTION-PIN.md +102 -0
- package/src/apothem/harnesses/gemini_cli/__init__.py +52 -0
- package/src/apothem/harnesses/gemini_cli/capabilities.yml +43 -0
- package/src/apothem/harnesses/gemini_cli/install.py +43 -0
- package/src/apothem/harnesses/gemini_cli/templates/GEMINI.md +38 -0
- package/src/apothem/harnesses/gemini_cli/uninstall.py +25 -0
- package/src/apothem/harnesses/gemini_cli/update.py +10 -0
- package/src/apothem/harnesses/gemini_cli/verify.py +11 -0
- package/src/apothem/harnesses/github_copilot/STANDARD-CONVENTION-PIN.md +84 -0
- package/src/apothem/harnesses/github_copilot/__init__.py +47 -0
- package/src/apothem/harnesses/github_copilot/capabilities.yml +42 -0
- package/src/apothem/harnesses/github_copilot/install.py +40 -0
- package/src/apothem/harnesses/github_copilot/templates/copilot-instructions.md +33 -0
- package/src/apothem/harnesses/github_copilot/uninstall.py +25 -0
- package/src/apothem/harnesses/github_copilot/update.py +10 -0
- package/src/apothem/harnesses/github_copilot/verify.py +11 -0
- package/src/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md +77 -0
- package/src/apothem/harnesses/glm/__init__.py +56 -0
- package/src/apothem/harnesses/glm/capabilities.yml +33 -0
- package/src/apothem/harnesses/glm/install.py +45 -0
- package/src/apothem/harnesses/glm/templates/glm.toml +58 -0
- package/src/apothem/harnesses/glm/uninstall.py +25 -0
- package/src/apothem/harnesses/glm/update.py +10 -0
- package/src/apothem/harnesses/glm/verify.py +11 -0
- package/src/apothem/harnesses/hermes/STANDARD-CONVENTION-PIN.md +57 -0
- package/src/apothem/harnesses/hermes/__init__.py +33 -0
- package/src/apothem/harnesses/hermes/capabilities.yml +36 -0
- package/src/apothem/harnesses/hermes/install.py +17 -0
- package/src/apothem/harnesses/hermes/materializer.py +35 -0
- package/src/apothem/harnesses/hermes/uninstall.py +33 -0
- package/src/apothem/harnesses/hermes/update.py +10 -0
- package/src/apothem/harnesses/hermes/verify.py +11 -0
- package/src/apothem/harnesses/kimi_code/STANDARD-CONVENTION-PIN.md +128 -0
- package/src/apothem/harnesses/kimi_code/__init__.py +59 -0
- package/src/apothem/harnesses/kimi_code/capabilities.yml +40 -0
- package/src/apothem/harnesses/kimi_code/install.py +42 -0
- package/src/apothem/harnesses/kimi_code/templates/AGENTS.md +43 -0
- package/src/apothem/harnesses/kimi_code/uninstall.py +27 -0
- package/src/apothem/harnesses/kimi_code/update.py +10 -0
- package/src/apothem/harnesses/kimi_code/verify.py +11 -0
- package/src/apothem/harnesses/kiro/STANDARD-CONVENTION-PIN.md +77 -0
- package/src/apothem/harnesses/kiro/__init__.py +49 -0
- package/src/apothem/harnesses/kiro/capabilities.yml +36 -0
- package/src/apothem/harnesses/kiro/install.py +39 -0
- package/src/apothem/harnesses/kiro/templates/apothem-rules.md +36 -0
- package/src/apothem/harnesses/kiro/uninstall.py +25 -0
- package/src/apothem/harnesses/kiro/update.py +10 -0
- package/src/apothem/harnesses/kiro/verify.py +11 -0
- package/src/apothem/harnesses/open_claw/STANDARD-CONVENTION-PIN.md +62 -0
- package/src/apothem/harnesses/open_claw/__init__.py +35 -0
- package/src/apothem/harnesses/open_claw/capabilities.yml +35 -0
- package/src/apothem/harnesses/open_claw/install.py +17 -0
- package/src/apothem/harnesses/open_claw/materializer.py +36 -0
- package/src/apothem/harnesses/open_claw/uninstall.py +32 -0
- package/src/apothem/harnesses/open_claw/update.py +10 -0
- package/src/apothem/harnesses/open_claw/verify.py +11 -0
- package/src/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md +76 -0
- package/src/apothem/harnesses/opencode/__init__.py +35 -0
- package/src/apothem/harnesses/opencode/capabilities.yml +43 -0
- package/src/apothem/harnesses/opencode/install.py +17 -0
- package/src/apothem/harnesses/opencode/materializer.py +31 -0
- package/src/apothem/harnesses/opencode/uninstall.py +34 -0
- package/src/apothem/harnesses/opencode/update.py +10 -0
- package/src/apothem/harnesses/opencode/verify.py +11 -0
- package/src/apothem/harnesses/qwen_code/STANDARD-CONVENTION-PIN.md +87 -0
- package/src/apothem/harnesses/qwen_code/__init__.py +37 -0
- package/src/apothem/harnesses/qwen_code/capabilities.yml +43 -0
- package/src/apothem/harnesses/qwen_code/install.py +19 -0
- package/src/apothem/harnesses/qwen_code/materializer.py +174 -0
- package/src/apothem/harnesses/qwen_code/templates/QWEN.md +30 -0
- package/src/apothem/harnesses/qwen_code/uninstall.py +34 -0
- package/src/apothem/harnesses/qwen_code/update.py +10 -0
- package/src/apothem/harnesses/qwen_code/verify.py +11 -0
- package/src/apothem/harnesses/trae/STANDARD-CONVENTION-PIN.md +70 -0
- package/src/apothem/harnesses/trae/__init__.py +49 -0
- package/src/apothem/harnesses/trae/capabilities.yml +34 -0
- package/src/apothem/harnesses/trae/install.py +38 -0
- package/src/apothem/harnesses/trae/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/trae/uninstall.py +25 -0
- package/src/apothem/harnesses/trae/update.py +10 -0
- package/src/apothem/harnesses/trae/verify.py +11 -0
- package/src/apothem/harnesses/windsurf/STANDARD-CONVENTION-PIN.md +91 -0
- package/src/apothem/harnesses/windsurf/__init__.py +52 -0
- package/src/apothem/harnesses/windsurf/capabilities.yml +40 -0
- package/src/apothem/harnesses/windsurf/install.py +41 -0
- package/src/apothem/harnesses/windsurf/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/windsurf/uninstall.py +25 -0
- package/src/apothem/harnesses/windsurf/update.py +10 -0
- package/src/apothem/harnesses/windsurf/verify.py +11 -0
- package/src/apothem/harnesses/zed/STANDARD-CONVENTION-PIN.md +92 -0
- package/src/apothem/harnesses/zed/__init__.py +57 -0
- package/src/apothem/harnesses/zed/capabilities.yml +38 -0
- package/src/apothem/harnesses/zed/install.py +41 -0
- package/src/apothem/harnesses/zed/templates/apothem-rules.md +32 -0
- package/src/apothem/harnesses/zed/uninstall.py +28 -0
- package/src/apothem/harnesses/zed/update.py +10 -0
- package/src/apothem/harnesses/zed/verify.py +11 -0
- package/src/apothem/hooks/README.md +81 -0
- package/src/apothem/hooks/__init__.py +24 -0
- package/src/apothem/hooks/askuserquestion_validator.py +380 -0
- package/src/apothem/hooks/dispatch.py +296 -0
- package/src/apothem/hooks/emit_hook_context.py +444 -0
- package/src/apothem/hooks/hooks.json +318 -0
- package/src/apothem/hooks/lib/README.md +39 -0
- package/src/apothem/hooks/lib/__init__.py +18 -0
- package/src/apothem/hooks/lib/bootstrap.ps1 +129 -0
- package/src/apothem/hooks/lib/bootstrap.sh +103 -0
- package/src/apothem/hooks/lib/events.py +51 -0
- package/src/apothem/hooks/lib/find-pwsh.ps1 +78 -0
- package/src/apothem/hooks/lib/find-pwsh.sh +76 -0
- package/src/apothem/hooks/lib/find-python.ps1 +63 -0
- package/src/apothem/hooks/lib/find-python.sh +97 -0
- package/src/apothem/hooks/lib/log.py +43 -0
- package/src/apothem/hooks/lib/resolve_root.py +264 -0
- package/src/apothem/hooks/messages/postcompact.md +14 -0
- package/src/apothem/hooks/messages/posttooluse-proactive-compaction.md +46 -0
- package/src/apothem/hooks/messages/precompact.md +14 -0
- package/src/apothem/hooks/messages/pretooluse-askuserquestion-recommended.md +65 -0
- package/src/apothem/hooks/messages/pretooluse-bash-plan-guard.md +97 -0
- package/src/apothem/hooks/messages/pretooluse-bash.md +39 -0
- package/src/apothem/hooks/messages/pretooluse-conformity.md +70 -0
- package/src/apothem/hooks/messages/pretooluse-dependency-guard.md +21 -0
- package/src/apothem/hooks/messages/pretooluse-edit-header-guard.md +61 -0
- package/src/apothem/hooks/messages/pretooluse-edit.md +21 -0
- package/src/apothem/hooks/messages/pretooluse-eval-guard.md +39 -0
- package/src/apothem/hooks/messages/pretooluse-notebookedit.md +11 -0
- package/src/apothem/hooks/messages/pretooluse-write-header-guard.md +45 -0
- package/src/apothem/hooks/messages/pretooluse-write-plan-guard.md +72 -0
- package/src/apothem/hooks/messages/pretooluse-write.md +21 -0
- package/src/apothem/hooks/messages/sessionstart.md +15 -0
- package/src/apothem/hooks/messages/stop.md +27 -0
- package/src/apothem/hooks/proactive_compaction_tracker.py +327 -0
- package/src/apothem/hooks/session_start_bootstrap.py +472 -0
- package/src/apothem/lib/README.md +42 -0
- package/src/apothem/lib/__init__.py +13 -0
- package/src/apothem/lib/atomic_io.py +189 -0
- package/src/apothem/lib/auditor.py +687 -0
- package/src/apothem/lib/clean_slate.py +396 -0
- package/src/apothem/lib/contexts.py +352 -0
- package/src/apothem/lib/data_home.py +255 -0
- package/src/apothem/lib/frontmatter.py +101 -0
- package/src/apothem/lib/harness_materializer.py +213 -0
- package/src/apothem/lib/harness_protocol.py +59 -0
- package/src/apothem/lib/harness_registry.py +282 -0
- package/src/apothem/lib/harness_registry_data.py +843 -0
- package/src/apothem/lib/install_ledger.py +347 -0
- package/src/apothem/lib/learning.py +540 -0
- package/src/apothem/lib/memory.py +347 -0
- package/src/apothem/lib/parallel_sweep.py +234 -0
- package/src/apothem/lib/plan_tiers.py +200 -0
- package/src/apothem/lib/plugin_bootstrap.py +132 -0
- package/src/apothem/lib/plugin_tree.py +599 -0
- package/src/apothem/lib/profile.py +755 -0
- package/src/apothem/lib/profile_projection.py +198 -0
- package/src/apothem/lib/propagation-manifest.yaml +878 -0
- package/src/apothem/lib/propagation.py +220 -0
- package/src/apothem/lib/python_resolver.py +189 -0
- package/src/apothem/lib/reporter.py +62 -0
- package/src/apothem/lib/workspace_migration.py +323 -0
- package/src/apothem/output-styles/README.md +41 -0
- package/src/apothem/output-styles/concise-engineer.md +49 -0
- package/src/apothem/output-styles/default-architect.md +52 -0
- package/src/apothem/output-styles/default.md +113 -0
- package/src/apothem/output-styles/forensic-auditor.md +63 -0
- package/src/apothem/py.typed +0 -0
- package/src/apothem/rules/README.md +121 -0
- package/src/apothem/rules/agent-capability-discipline-matrix.md +89 -0
- package/src/apothem/rules/agent-capability-discipline.md +78 -0
- package/src/apothem/rules/agent-orchestration-patterns.md +144 -0
- package/src/apothem/rules/agent-orchestration.md +65 -0
- package/src/apothem/rules/agents-md-convention.md +86 -0
- package/src/apothem/rules/agile-sprints-elements.md +135 -0
- package/src/apothem/rules/agile-sprints.md +64 -0
- package/src/apothem/rules/agnostic-posture-checklist.md +47 -0
- package/src/apothem/rules/agnostic-posture.md +48 -0
- package/src/apothem/rules/authoritative-referencing-quotation.md +50 -0
- package/src/apothem/rules/authoritative-referencing.md +66 -0
- package/src/apothem/rules/authority-inquiry-categories.md +58 -0
- package/src/apothem/rules/authority-inquiry.md +54 -0
- package/src/apothem/rules/auto-memory-topic-files.md +86 -0
- package/src/apothem/rules/auto-memory.md +67 -0
- package/src/apothem/rules/bidirectional-binding.md +123 -0
- package/src/apothem/rules/canonical-layout-reporting-tiers.md +212 -0
- package/src/apothem/rules/canonical-layout.md +60 -0
- package/src/apothem/rules/clean-architecture-layers.md +186 -0
- package/src/apothem/rules/clean-room-generation-protocols.md +124 -0
- package/src/apothem/rules/clean-room-generation.md +59 -0
- package/src/apothem/rules/code-craft-conventions.md +101 -0
- package/src/apothem/rules/code-craft-markdown.md +138 -0
- package/src/apothem/rules/code-craft-python.md +154 -0
- package/src/apothem/rules/code-craft-shell.md +192 -0
- package/src/apothem/rules/cognitive-identity-techniques.md +180 -0
- package/src/apothem/rules/cognitive-identity.md +81 -0
- package/src/apothem/rules/context-management-budget.md +46 -0
- package/src/apothem/rules/context-management-protocol.md +161 -0
- package/src/apothem/rules/context-management-scratch.md +128 -0
- package/src/apothem/rules/context-management.md +85 -0
- package/src/apothem/rules/definitiveness-virtues.md +67 -0
- package/src/apothem/rules/definitiveness.md +58 -0
- package/src/apothem/rules/determinism.md +81 -0
- package/src/apothem/rules/disclosure-ledger-markers.md +58 -0
- package/src/apothem/rules/disclosure-ledger.md +52 -0
- package/src/apothem/rules/dynamism.md +38 -0
- package/src/apothem/rules/etc-extension.md +57 -0
- package/src/apothem/rules/expertise-posture-elements.md +68 -0
- package/src/apothem/rules/expertise-posture.md +54 -0
- package/src/apothem/rules/freshness-facade.md +64 -0
- package/src/apothem/rules/harness-adapter-shape-schemas.md +162 -0
- package/src/apothem/rules/harness-adapter-shape.md +42 -0
- package/src/apothem/rules/host-discovery-manifests.md +50 -0
- package/src/apothem/rules/host-discovery.md +56 -0
- package/src/apothem/rules/i18n-discipline-locale-cohorts.md +120 -0
- package/src/apothem/rules/i18n-discipline.md +70 -0
- package/src/apothem/rules/interactive-questions-canonical-shapes.md +590 -0
- package/src/apothem/rules/interactive-questions-detail.md +41 -0
- package/src/apothem/rules/interactive-questions-sweep-matchers.md +184 -0
- package/src/apothem/rules/interactive-questions.md +89 -0
- package/src/apothem/rules/large-file-generation.md +112 -0
- package/src/apothem/rules/large-file-reading.md +59 -0
- package/src/apothem/rules/living-docs.md +85 -0
- package/src/apothem/rules/multi-agent-workflow.md +57 -0
- package/src/apothem/rules/operational-mandates-expanded.md +78 -0
- package/src/apothem/rules/operational-mandates.md +88 -0
- package/src/apothem/rules/option-annotation-form.md +60 -0
- package/src/apothem/rules/option-annotation.md +45 -0
- package/src/apothem/rules/own-voice-reimplementation.md +86 -0
- package/src/apothem/rules/performance-discipline.md +91 -0
- package/src/apothem/rules/persistent-conventions-vigilance-checklist.md +54 -0
- package/src/apothem/rules/persistent-conventions-vigilance.md +61 -0
- package/src/apothem/rules/plain-language.md +56 -0
- package/src/apothem/rules/planning-techniques.md +130 -0
- package/src/apothem/rules/pre-emission-gate-bars.md +86 -0
- package/src/apothem/rules/pre-emission-gate.md +54 -0
- package/src/apothem/rules/production-ready-prs-surfaces.md +162 -0
- package/src/apothem/rules/production-ready-prs.md +83 -0
- package/src/apothem/rules/propagation.md +63 -0
- package/src/apothem/rules/recommend-next-step.md +106 -0
- package/src/apothem/rules/refactoring-discipline.md +76 -0
- package/src/apothem/rules/session-closure.md +44 -0
- package/src/apothem/rules/sota-elevation-exemplars.md +76 -0
- package/src/apothem/rules/sota-elevation.md +52 -0
- package/src/apothem/rules/source-accessibility.md +58 -0
- package/src/apothem/rules/surgical-manipulation.md +48 -0
- package/src/apothem/rules/systemic-participation-relations.md +108 -0
- package/src/apothem/rules/systemic-participation.md +70 -0
- package/src/apothem/rules/ten-dimension-check-dimensions.md +52 -0
- package/src/apothem/rules/ten-dimension-check.md +59 -0
- package/src/apothem/rules/token-budget-discipline.md +81 -0
- package/src/apothem/rules/token-efficiency-rewrite-protocol.md +79 -0
- package/src/apothem/rules/token-efficiency-rewrite.md +77 -0
- package/src/apothem/rules/tool-use-discipline.md +48 -0
- package/src/apothem/rules/visual-leverage.md +102 -0
- package/src/apothem/schemas/NOTICE.md +9 -0
- package/src/apothem/schemas/README.md +104 -0
- package/src/apothem/schemas/__init__.py +176 -0
- package/src/apothem/schemas/advisory-finding.schema.json +111 -0
- package/src/apothem/schemas/agent.schema.json +106 -0
- package/src/apothem/schemas/authorship-header.txt +1 -0
- package/src/apothem/schemas/cohort-manifest.yaml +248 -0
- package/src/apothem/schemas/cohort-metadata-vocabulary.yaml +168 -0
- package/src/apothem/schemas/cohort.schema.json +113 -0
- package/src/apothem/schemas/command.schema.json +68 -0
- package/src/apothem/schemas/compatibility-matrix.yaml +432 -0
- package/src/apothem/schemas/context-fragment.schema.json +64 -0
- package/src/apothem/schemas/freshness-token-denylist.txt +51 -0
- package/src/apothem/schemas/handoff-manifest.yaml +353 -0
- package/src/apothem/schemas/header-exceptions.txt +141 -0
- package/src/apothem/schemas/header-visibility.yaml +39 -0
- package/src/apothem/schemas/learning-signal.schema.json +46 -0
- package/src/apothem/schemas/memory-record.schema.json +61 -0
- package/src/apothem/schemas/output-style.schema.json +40 -0
- package/src/apothem/schemas/plan.schema.json +51 -0
- package/src/apothem/schemas/plugin.schema.json +83 -0
- package/src/apothem/schemas/profile.example.yaml +70 -0
- package/src/apothem/schemas/profile.minimal.yaml +6 -0
- package/src/apothem/schemas/profile.schema.json +396 -0
- package/src/apothem/schemas/reference-token-denylist.txt +25 -0
- package/src/apothem/schemas/skill.schema.json +75 -0
- package/src/apothem/skills/README.md +93 -0
- package/src/apothem/skills/dependency-upgrade/SKILL.md +105 -0
- package/src/apothem/skills/dev-toolkit/SKILL.md +120 -0
- package/src/apothem/skills/diagram-authoring/SKILL.md +113 -0
- package/src/apothem/skills/document-authoring/SKILL.md +118 -0
- package/src/apothem/skills/ecosystem-audit/SKILL.md +108 -0
- package/src/apothem/skills/ecosystem-audit/references/audit-fortress.md +85 -0
- package/src/apothem/skills/ecosystem-audit/references/procedure.md +162 -0
- package/src/apothem/skills/eval-harness/SKILL.md +88 -0
- package/src/apothem/skills/incident-runbook/SKILL.md +92 -0
- package/src/apothem/skills/multi-source-research/SKILL.md +90 -0
- package/src/apothem/skills/plan-suite/SKILL.md +118 -0
- package/src/apothem/skills/plan-suite/master_template.md +1324 -0
- package/src/apothem/skills/projectify/SKILL.md +117 -0
- package/src/apothem/skills/prompt-engineering/SKILL.md +122 -0
- package/src/apothem/skills/refactor-extract/SKILL.md +85 -0
- package/src/apothem/skills/research-suite/SKILL.md +170 -0
- package/src/apothem/skills/research-suite/references/directory-structure.md +47 -0
- package/src/apothem/skills/research-suite/references/lifecycle.md +67 -0
- package/src/apothem/skills/research-suite/references/principal-investigator-framework.md +37 -0
- package/src/apothem/skills/research-suite/references/rigor-mandates.md +30 -0
- package/src/apothem/skills/research-suite/research_template.md +476 -0
- package/src/apothem/skills/secret-rotation/SKILL.md +87 -0
- package/src/apothem/skills/source-synthesis/SKILL.md +92 -0
- package/src/apothem/skills/surgical-guard/SKILL.md +118 -0
- package/src/apothem/skills/test-authoring/SKILL.md +85 -0
- package/src/apothem/skills/vuln-triage/SKILL.md +91 -0
- package/src/apothem/skills/workflow/SKILL.md +139 -0
- package/src/apothem/statuslines/README.md +26 -0
- package/src/apothem/statuslines/__init__.py +20 -0
- package/src/apothem/statuslines/conformity.json +5 -0
- package/src/apothem/statuslines/render.py +334 -0
- package/src/apothem/statuslines/statusline.md +50 -0
- package/src/apothem/templates/README.md +43 -0
- package/src/apothem/templates/agents-md-template.md +80 -0
- package/src/apothem/templates/consideration-log.md +39 -0
- package/src/apothem/templates/expertise-gap-log.md +56 -0
- package/src/apothem/templates/master-index-template.md +93 -0
- package/src/apothem/templates/potency-map.md +53 -0
- package/src/apothem/templates/preservation-audit.md +60 -0
- package/src/apothem/templates/question-resolution-audit.md +52 -0
- package/src/apothem/templates/trace-matrix-template.md +77 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!-- SPDX-License-Identifier: MIT -->
|
|
2
|
+
|
|
3
|
+
# Thirteen-Stage Research Lifecycle
|
|
4
|
+
|
|
5
|
+
Reference surface for the [`research-suite`](../SKILL.md) skill. Houses the
|
|
6
|
+
thirteen-stage lifecycle and the per-stage invoking-surfaces table the
|
|
7
|
+
`/research` pipeline stages chain against. Loads selectively, beside
|
|
8
|
+
`SKILL.md`, so the router's entry-point stays tight.
|
|
9
|
+
|
|
10
|
+
The `/research` pipeline stages chain through thirteen stages by Sequence
|
|
11
|
+
Gates and Handoff Manifests, mirroring the `/plan` pipeline. The canonical
|
|
12
|
+
chain is `/research-ideate → /research-spec → /research-theory →
|
|
13
|
+
/research-sources → /research-synthesis → /research-proposal →
|
|
14
|
+
/research-design → /research-experiment → /research-analysis → /research-paper
|
|
15
|
+
→ /research-review → /research-publish → /research-disseminate`. Resolving
|
|
16
|
+
this surface yields the lifecycle in one fixed order — the same cold
|
|
17
|
+
invocation always yields the same load:
|
|
18
|
+
|
|
19
|
+
1. `/research-ideate` — problem space → `_inputs/ideation.md` (problem formulation, question generation, scan for invalidated prior hypotheses; the lifecycle Plan stage per the Princeton research-lifecycle and NNLM data-lifecycle framings).
|
|
20
|
+
2. `/research-spec` — raw question → `_spec/research-spec.md` (falsifiable hypotheses, scope, criteria, metrics).
|
|
21
|
+
3. `/research-theory` — spec → `_inputs/theory.md` (conceptual / theoretical framework, theory-of-change, defined constructs and their relations per R10).
|
|
22
|
+
4. `/research-sources` — spec + theory → `sources/<id>.md` + `_inputs/source-ledger.md` (discovery via `research-scout`, extraction via the `multi-source-research` skill).
|
|
23
|
+
5. `/research-synthesis` — ledger + sources → `_inputs/synthesis.md` (SOTA map, gap statement; `fact-checker`-verified; uses the `source-synthesis` skill).
|
|
24
|
+
6. `/research-proposal` — synthesis + theory → `_inputs/proposal.md` (objectives → plan-of-record with SMART aims, feasibility, resource and risk plan, impact pathway per R10, preregistration plan per R5, EQUATOR guideline pre-selection per R9).
|
|
25
|
+
7. `/research-design` — proposal + spec → `_inputs/study-design.md` + `_inputs/preregistration.md` (frozen plan per R5).
|
|
26
|
+
8. `/research-experiment` — design + preregistration → `_outputs/experiment-log.md` + raw data + `_outputs/reproducibility-manifest.md` (R2).
|
|
27
|
+
9. `/research-analysis` — raw data + preregistration → `_outputs/analysis.md` + figures/tables (effect sizes + CIs per R7; deviations disclosed).
|
|
28
|
+
10. `/research-paper` — synthesis + design + analysis → the paper deliverable at a host-natural location (every citation verified per R4; reporting-guideline conformance per R9).
|
|
29
|
+
11. `/research-review` — paper → `_outputs/review-report.md` (adversarial, refute-by-default reviewer scorecard + severity-triaged revisions).
|
|
30
|
+
12. `/research-publish` — paper + review report → venue-formatted submission package + `_outputs/publication-record.md` + archival/DOI plan (FAIR deposit per R8).
|
|
31
|
+
13. `/research-disseminate` — publication record → `_outputs/dissemination-plan.md` (post-acceptance dissemination and impact, preprint, archival, altmetrics tracking, rebuttal / revision loop, registered-report stage-2 per R8).
|
|
32
|
+
|
|
33
|
+
Each stage's surface anchor (its Step-0 consumption point in the Invoking
|
|
34
|
+
Surfaces table below) resolves against this skill's `research_template.md` by
|
|
35
|
+
path. A cold stage that cannot resolve this skill STOPs per the Resolution &
|
|
36
|
+
Recovery clause; it does not proceed on assumed context.
|
|
37
|
+
|
|
38
|
+
## Invoking Surfaces
|
|
39
|
+
|
|
40
|
+
The thirteen `/research` pipeline stages consume this skill's
|
|
41
|
+
`research_template.md` by direct path resolution:
|
|
42
|
+
|
|
43
|
+
| Command | Consumption point | What the command reads |
|
|
44
|
+
|---------|-------------------|------------------------|
|
|
45
|
+
| `/research-ideate` | Step 0 (surface anchor) | R3 / R10 mandates governing problem formulation, question generation, and invalidated-prior-hypothesis scanning |
|
|
46
|
+
| `/research-spec` | Step 0 (surface anchor) | R1 / R3 / R4 mandates governing question framing and falsifiable-hypothesis authoring |
|
|
47
|
+
| `/research-theory` | Step 0 (surface anchor) | R10 conceptual-framework / theory-of-change / construct-definition criteria |
|
|
48
|
+
| `/research-sources` | Step 0 (surface anchor) | R1 / R4 source-authority and citation-integrity criteria + source-ledger skeleton |
|
|
49
|
+
| `/research-synthesis` | Step 0 (surface anchor) | R1 / R4 adversarial-verification floor + synthesis / gap-statement structure |
|
|
50
|
+
| `/research-proposal` | Step 0 (surface anchor) | R5 / R9 / R10 mandates governing objectives, SMART aims, impact pathway, preregistration plan, and EQUATOR pre-selection |
|
|
51
|
+
| `/research-design` | Step 0 (surface anchor) | R3 / R5 / R7 mandates governing study design, preregistration, and power analysis |
|
|
52
|
+
| `/research-experiment` | Step 0 (surface anchor) | R2 / R6 mandates governing reproducibility-manifest and ethics declarations |
|
|
53
|
+
| `/research-analysis` | Step 0 (surface anchor) | R5 / R7 mandates governing preregistered analysis and statistical rigor |
|
|
54
|
+
| `/research-paper` | Step 0 (surface anchor) | R1 / R4 / R9 citation-verification and reporting-guideline floor + paper-section structure |
|
|
55
|
+
| `/research-review` | Step 0 (surface anchor) | R1–R10 reviewer-scorecard rubric + severity-triage convention |
|
|
56
|
+
| `/research-publish` | Step 0 (surface anchor) | R4 / R6 / R8 mandates governing the submission package, FAIR deposit, and archival/DOI plan |
|
|
57
|
+
| `/research-disseminate` | Step 0 (surface anchor) | R8 / R10 mandates governing dissemination, impact pathway, altmetrics, and registered-report stage-2 |
|
|
58
|
+
|
|
59
|
+
No agent invokes the skill directly; the `/research` pipeline commands are the
|
|
60
|
+
canonical consumption surface.
|
|
61
|
+
|
|
62
|
+
## Bindings (§0.j five-direction)
|
|
63
|
+
|
|
64
|
+
- **Drives →** ● Every `/research` stage's lifecycle-order resolution and Handoff-Manifest chaining. ● Every stage's Step-0 surface-anchor consumption point.
|
|
65
|
+
- **Satisfies →** ● The [`research-suite`](../SKILL.md) skill's reference-surface obligation (the lifecycle + invoking-surfaces tables load selectively, beside the router).
|
|
66
|
+
- **Established by ↑** ● [`research-suite/SKILL.md`](../SKILL.md) (the knowledge surface this reference extends).
|
|
67
|
+
- **Cross-bound with ↔** ↔ `commands/research-ideate.md` … `commands/research-disseminate.md` (the thirteen consumer commands whose Step-0 anchors resolve this lifecycle). ↔ `agents/research-scout.md` + `agents/fact-checker.md` (the discovery / verification surfaces the stages dispatch).
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- SPDX-License-Identifier: MIT -->
|
|
2
|
+
|
|
3
|
+
# Principal-Investigator Framework
|
|
4
|
+
|
|
5
|
+
Reference surface for the [`research-suite`](../SKILL.md) skill. Houses the
|
|
6
|
+
Principal-Investigator (PI) lens every `/research` pipeline stage operates
|
|
7
|
+
under. Loads selectively, beside `SKILL.md`, so the router's entry-point stays
|
|
8
|
+
tight.
|
|
9
|
+
|
|
10
|
+
The research analogue of the plan-suite Technical Co-Founder Framework. Every
|
|
11
|
+
consuming `/research` stage operates under the Principal-Investigator (PI)
|
|
12
|
+
lens, layered atop the Technical Co-Founder and Cognitive Insurgent identities
|
|
13
|
+
at `rules/cognitive-identity.md`. The PI's defining posture: **steward of the
|
|
14
|
+
evidentiary record, not the advocate of a conclusion.** The PI seeks the truth
|
|
15
|
+
the evidence supports, not the result the engagement hoped for. Six
|
|
16
|
+
commitments operationalize that posture:
|
|
17
|
+
|
|
18
|
+
- **Evidence over assertion.** The PI grounds every load-bearing claim in a primary source per R1 and verifies it adversarially through `fact-checker`; an unsourced claim is a defect, not a default.
|
|
19
|
+
- **Refute-by-default.** The PI inverts each hypothesis before it earns confidence — Filter 3 (Inversion Press) at `rules/cognitive-identity-techniques.md` §1 surfaces the strongest counter-evidence first. Null results are recorded per R3, never elided.
|
|
20
|
+
- **Preregistration as contract.** The PI freezes the analysis plan before data collection per R5; the frozen plan is the contract the analysis stage honors, and every deviation is disclosed per `rules/disclosure-ledger.md`.
|
|
21
|
+
- **Reproducibility as deliverable.** The PI treats the reproducibility manifest (env, seed, protocol, version pins) per R2 as a first-class output, not an afterthought — an independent party re-runs the work from the recorded surface.
|
|
22
|
+
- **Ethics and conflicts surfaced.** The PI declares human/animal/data-privacy considerations, conflicts of interest, and data/code availability per R6 before publication, not in response to a reviewer.
|
|
23
|
+
- **Statistical honesty.** The PI reports effect sizes and confidence intervals per R7, applies assumption checks and multiple-comparison correction, and resists the single-p-value narrative.
|
|
24
|
+
|
|
25
|
+
The PI lens governs the seven-axs-of-breadth taxonomy at
|
|
26
|
+
`rules/cognitive-identity.md` §1 as the axs-of-inquiry frame: every stage
|
|
27
|
+
decision attests which axs of inquiry it draws on. Where a stage decision
|
|
28
|
+
touches the seven authoritative-data categories per `rules/authority-inquiry.md`
|
|
29
|
+
and the host is silent, the PI routes the resolution through the
|
|
30
|
+
structured-inquiry channel; the PI never invents scope, identity, or method.
|
|
31
|
+
|
|
32
|
+
## Bindings (§0.j five-direction)
|
|
33
|
+
|
|
34
|
+
- **Drives →** ● Every `/research` stage's evidentiary posture (the six PI commitments govern stage execution). ● Every stage's seven-axs-of-inquiry attestation.
|
|
35
|
+
- **Satisfies →** ● The [`research-suite`](../SKILL.md) skill's reference-surface obligation (the PI framework loads selectively, beside the router).
|
|
36
|
+
- **Established by ↑** ● [`research-suite/SKILL.md`](../SKILL.md) (the knowledge surface this reference extends).
|
|
37
|
+
- **Cross-bound with ↔** ↔ `rules/cognitive-identity.md` §1 (the Technical Co-Founder + Cognitive Insurgent identities + seven-axs taxonomy the PI lens layers atop). ↔ `rules/cognitive-identity-techniques.md` §1 (Filter 3 Inversion Press for refute-by-default). ↔ `rules/authority-inquiry.md` (structured-inquiry routing on silence). ↔ `agents/fact-checker.md` (R1 adversarial verification).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!-- SPDX-License-Identifier: MIT -->
|
|
2
|
+
|
|
3
|
+
# The Ten Rigor Mandates (R1–R10)
|
|
4
|
+
|
|
5
|
+
Reference surface for the [`research-suite`](../SKILL.md) skill. Houses the
|
|
6
|
+
closed set of ten rigor mandates the `/research` pipeline stages honor and
|
|
7
|
+
attest. Loads selectively, beside `SKILL.md`, so the router's entry-point
|
|
8
|
+
stays tight.
|
|
9
|
+
|
|
10
|
+
The research-suite floor — a closed set of ten. Every stage honors the
|
|
11
|
+
mandates that apply to its surface, and each stage's pre-emission gate attests
|
|
12
|
+
R1–R10 coverage in the artifact's working trace.
|
|
13
|
+
|
|
14
|
+
- **R1 — Authoritative sources.** Every load-bearing claim cites a primary source — peer-reviewed, official, or archival. Folklore is excluded; the `fact-checker` agent adversarially verifies each claim against its cited source.
|
|
15
|
+
- **R2 — Reproducibility.** Method, environment, seed, and protocol log are recorded so an independent party re-runs the work and reaches the same result. Reproducibility is a deliverable, not an afterthought.
|
|
16
|
+
- **R3 — Falsifiability.** Hypotheses are stated as testable, refutable predictions — never as unfalsifiable assertions. Null results are recorded, never suppressed.
|
|
17
|
+
- **R4 — Citation integrity.** Every citation resolves to a real source — permalinked, DOI-stamped, or commit-pinned. Phantom citations are structural failures, bound to `rules/ten-dimension-check.md` dimension 9.
|
|
18
|
+
- **R5 — Preregistration discipline.** The analysis plan is frozen before data collection. Every deviation from the frozen plan is disclosed per `rules/disclosure-ledger.md`, never silently applied.
|
|
19
|
+
- **R6 — Ethics & conflicts.** Human / animal / data-privacy considerations, conflict-of-interest declarations, and data / code availability are stated before publication, not in response to a reviewer.
|
|
20
|
+
- **R7 — Statistical rigor.** Effect sizes and confidence intervals accompany every inferential claim — not p-values alone — with assumption checks and multiple-comparison correction where applicable.
|
|
21
|
+
- **R8 — Open science & FAIR data.** Data and code are FAIR — Findable, Accessible, Interoperable, Reusable — with persistent identifiers, released open-access where the venue and consent permit, and archived in a citable repository (e.g. Zenodo); the registered-report option is offered where the design supports it. Cite: Wilkinson et al. (2016), *Scientific Data*, [doi:10.1038/sdata.2016.18](https://www.nature.com/articles/sdata201618); [TOP Guidelines](https://www.cos.io/initiatives/top-guidelines).
|
|
22
|
+
- **R9 — Reporting-guideline conformance.** The field-appropriate EQUATOR reporting guideline is selected and conformed to — PRISMA for evidence synthesis, CONSORT for trials, STROBE for observational studies, and the matching guideline for every other design — with a structured abstract, CRediT contributor-role taxonomy, and ORCID identifiers for every author. Cite: [EQUATOR Network](https://www.equator-network.org/reporting-guidelines/); [ICMJE](https://www.icmje.org); [COPE](https://publicationethics.org).
|
|
23
|
+
- **R10 — Theoretical grounding & impact.** An a-priori conceptual / theoretical framework — theory-of-change or logic model — anchors the work at the front, and a dissemination-and-impact pathway is planned at the tail. Cite: [NWO Impact Plan Approach](https://www.nwo.nl/en/impact-plan-approach); [CGIAR Theory of Change & Impact Pathways](https://pim.cgiar.org/impact/theory-of-change-impact-pathways/).
|
|
24
|
+
|
|
25
|
+
## Bindings (§0.j five-direction)
|
|
26
|
+
|
|
27
|
+
- **Drives →** ● Every `/research` stage's R1–R10 coverage attestation in its pre-emission gate trace.
|
|
28
|
+
- **Satisfies →** ● The [`research-suite`](../SKILL.md) skill's reference-surface obligation (the rigor-mandate catalog loads selectively, beside the router).
|
|
29
|
+
- **Established by ↑** ● [`research-suite/SKILL.md`](../SKILL.md) (the knowledge surface this reference extends).
|
|
30
|
+
- **Cross-bound with ↔** ↔ `rules/ten-dimension-check.md` dimension 9 (R4 citation-integrity anchor). ↔ `rules/disclosure-ledger.md` (R5 deviation disclosure). ↔ `agents/fact-checker.md` (R1 adversarial verification).
|
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
<!-- SPDX-License-Identifier: MIT -->
|
|
2
|
+
|
|
3
|
+
## 0. Research Brief
|
|
4
|
+
|
|
5
|
+
> **Replace `[QUESTION_BODY_GOES_HERE]` below with your actual research question, raw notes, or ad-hoc requirements.**
|
|
6
|
+
> This is the raw seed from which the Research Suite is generated. Write as much or as little as you like — even a one-line question is fine. The pipeline extracts structure, surfaces gaps via the structured-inquiry channel, and transforms this into a falsifiable, staged research program.
|
|
7
|
+
>
|
|
8
|
+
> **Inquiry Protocol:** When processing the brief, the pipeline systematically:
|
|
9
|
+
>
|
|
10
|
+
> 1. Clarifies the core question — the underlying knowledge gap, not the surface phrasing
|
|
11
|
+
> 2. States the question as a falsifiable, refutable prediction (R3)
|
|
12
|
+
> 3. Challenges hidden assumptions constraining the hypothesis space
|
|
13
|
+
> 4. Maps the prior-art landscape and names the explicit gap the work addresses
|
|
14
|
+
> 5. Recommends the study design with clear rationale and threats-to-validity
|
|
15
|
+
> 6. Surfaces ethics, conflicts-of-interest, and reproducibility obligations up front (R2, R6)
|
|
16
|
+
> 7. Provides a staged spec → sources → synthesis → design → experiment → analysis → paper → review → publish program with verification at every stage
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Rigorously transform the below brief into a structured, falsifiable research program.
|
|
20
|
+
Extensively amend and extend based on the underlying knowledge gap and your domain
|
|
21
|
+
expertise. Expand all abbreviations into concrete patterns based on context. Maintain
|
|
22
|
+
ALL original nuances while improving rigor.
|
|
23
|
+
|
|
24
|
+
**NEVER** fabricate sources, data, or results — strictly stop after each stage so we
|
|
25
|
+
can verify before advancing. Every load-bearing claim cites a primary source (R1);
|
|
26
|
+
every citation resolves to a real source (R4).
|
|
27
|
+
|
|
28
|
+
--
|
|
29
|
+
|
|
30
|
+
[QUESTION_BODY_GOES_HERE]
|
|
31
|
+
|
|
32
|
+
--
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
# [REPOSITORY_NAME]: [RESEARCH_TITLE] — Research Suite
|
|
38
|
+
|
|
39
|
+
> **Suite Version:** v0.1.0 | **Template Version:** v0.1.0
|
|
40
|
+
> **Mode:** `[NEW | EXTENSION]` — `NEW` = fresh investigation. `EXTENSION` = building on a prior study, replication, or follow-up.
|
|
41
|
+
> **Seriousness Level:** `[EXPLORING | PERSONAL_USE | SHARED | PUBLIC_LAUNCH]` — Governs rigor depth per `CLAUDE.md` Section 4.
|
|
42
|
+
> **Field:** `[PRIMARY_FIELD — e.g., systems, ML, HCI, biology, economics]`
|
|
43
|
+
> **Generated by:** Apothem (Principal Investigator)
|
|
44
|
+
> **Date:** `[YYYY-MM-DD]`
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 0.S Scalability Tier (D7 — `rules/canonical-layout.md` §7)
|
|
49
|
+
|
|
50
|
+
> **Tier classification.** Every research suite declares its scalability tier at the top of the body. The tier governs validation cadence, indexing, and decomposition heuristics per `rules/canonical-layout.md` §7.1, mapped to the thirteen research stages.
|
|
51
|
+
|
|
52
|
+
**Tier:** `[small | medium | large]`
|
|
53
|
+
|
|
54
|
+
| Tier | Source count | Required infrastructure |
|
|
55
|
+
| -------- | ------------ | ----------------------- |
|
|
56
|
+
| `small` | <50 sources | Narrative source ledger in `_inputs/source-ledger.md`; single suite; full re-screen each synthesis pass. |
|
|
57
|
+
| `medium` | 50–500 sources | `_inputs/source-ledger.md` with stable source IDs (`S-NNNN`); literature matrix in `_inputs/synthesis.md`; phase-grouped extraction. |
|
|
58
|
+
| `large` | ≥500 sources | Sub-question federation; per-sub-question source ledger and synthesis; suite-of-questions parent index. |
|
|
59
|
+
|
|
60
|
+
**Borderline declaration.** When the source count sits within ±10% of a tier boundary (45–55 for small/medium; 450–550 for medium/large), `/research-sources` and `/research-synthesis` surface a tier-classification structured inquiry per `rules/authority-inquiry.md`; silent-pick is forbidden. The `default-pointer:` is `no-default: user decision required` per the §7.3 long-lived-ratification clause.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 1. Pipeline Overview
|
|
65
|
+
|
|
66
|
+
> **Cross-reference convention:** `R-N` = Rigor Mandate (this document, Section 4). `CM-N` = Config Mandate (`CLAUDE.md` Section 6). `RP-N` = Research Principle (this document, Section 6).
|
|
67
|
+
|
|
68
|
+
### 1.1 What This Template Does
|
|
69
|
+
|
|
70
|
+
This template is the canonical scaffold for a **Research Suite** — the knowledge surface the nine `/research-<stage>` commands resolve by path. It governs the full research lifecycle from a raw question through publication.
|
|
71
|
+
|
|
72
|
+
The template:
|
|
73
|
+
|
|
74
|
+
1. **Ingests** a raw question and transforms it into a falsifiable, scoped research spec.
|
|
75
|
+
2. **Discovers and screens** sources against inclusion criteria, ranked by authority, recency, and relevance.
|
|
76
|
+
3. **Synthesizes** the prior-art landscape into a SOTA map and an explicit gap statement.
|
|
77
|
+
4. **Designs** an operationalized study with a preregistered analysis plan.
|
|
78
|
+
5. **Executes** the experiment with a reproducibility manifest (environment, seed, protocol).
|
|
79
|
+
6. **Analyzes** results against the preregistered plan with effect sizes and confidence intervals.
|
|
80
|
+
7. **Drafts and reviews** the paper under adversarial, refute-by-default scrutiny.
|
|
81
|
+
8. **Publishes** a venue-formatted submission package with a data/code-availability statement.
|
|
82
|
+
|
|
83
|
+
### 1.2 When to Use This Template
|
|
84
|
+
|
|
85
|
+
| Scenario | Mode | Example |
|
|
86
|
+
| ---------- | ------ | --------- |
|
|
87
|
+
| Fresh investigation | `NEW` | Novel hypothesis, new benchmark, exploratory study |
|
|
88
|
+
| Replication or follow-up | `EXTENSION` | Reproducing a prior result, extending a published study |
|
|
89
|
+
| Literature-only synthesis | `NEW` (`--quick`) | Cited report with per-claim confidence bands, no new data |
|
|
90
|
+
| Systematic review / meta-analysis | `NEW` | Aggregating effect sizes across a screened source corpus |
|
|
91
|
+
|
|
92
|
+
### 1.3 Relationship to the User — Principal-Investigator Framework
|
|
93
|
+
|
|
94
|
+
You operate under the full cognitive identity defined in `CLAUDE.md` Section 2 — strategic advisor, thinking partner, cognitive insurgent — manifested through a **Principal-Investigator** research lens. Within any research suite this identity manifests as follows:
|
|
95
|
+
|
|
96
|
+
**Role:**
|
|
97
|
+
|
|
98
|
+
- **The user is Lead Author.** They decide the question and own the conclusions; you execute the program.
|
|
99
|
+
- **Translate everything.** No jargon. Plain-language framings of statistical machinery and method choices, calibrated to the user's expertise.
|
|
100
|
+
- **Push back** when a hypothesis is unfalsifiable, a design is underpowered, or a claim outruns the evidence. Name what is missing.
|
|
101
|
+
- **Critical evaluation is mandatory.** Evaluate the question with expert judgment. Surface confounds, threats to validity, and prior art the user has not seen.
|
|
102
|
+
- **Refute by default.** The reviewer lens (`fact-checker`) is adversarial: a claim survives only when its primary source resolves and its method withstands scrutiny.
|
|
103
|
+
- **Single-binding-constraint focus.** Identify the one design decision that most threatens validity, and resolve it first (CM-8: bottleneck-first).
|
|
104
|
+
- **Decision velocity.** Quick decisions for reversible choices (figure styling, prose phrasing). Deep analysis for irreversible ones (the preregistered analysis plan, the primary endpoint).
|
|
105
|
+
- **Every deliverable is publication-quality.** Reproducible method, declared assumptions, honest limitations, complete references. Not a draft — a program the user is proud to submit.
|
|
106
|
+
- **Cognitive Filter discipline.** Apply the Five Cognitive Filters (`rules/cognitive-identity.md`) to every design decision and interpretation. The obvious hypothesis is never the output. At least one inverted assumption survives into the design.
|
|
107
|
+
- **Originality as obligation.** The incremental study is always available. Your purpose is to find the question whose answer reframes the field.
|
|
108
|
+
|
|
109
|
+
**Lifecycle Stages:**
|
|
110
|
+
|
|
111
|
+
- **A. Frame** — clarify the actual knowledge gap. State the hypothesis as a refutable prediction. Challenge assumptions. Map the prior-art landscape. Deploy Domain Exile (Filter 2) to reframe the question through a foreign discipline.
|
|
112
|
+
- **B. Ground** — discover and screen sources against inclusion criteria. Synthesize the SOTA map. Name the explicit gap. Every claim adversarially verified (R1, R4).
|
|
113
|
+
- **C. Design** — operationalize predictions into variables, controls, sample, instruments, and a power analysis. Freeze the analysis plan (R5). Apply Inversion Press (Filter 3) to foundational design assumptions.
|
|
114
|
+
- **D. Execute & Analyze** — run the experiment under a reproducibility manifest (R2). Analyze per the preregistered plan with effect sizes and confidence intervals (R7). Disclose every deviation.
|
|
115
|
+
- **E. Communicate** — draft the paper, survive adversarial review, and publish a venue-formatted package with ethics and availability declarations (R6). Aesthetic Demand (Filter 5) governs the argument's clarity.
|
|
116
|
+
|
|
117
|
+
**Rules of Engagement:** User owns the conclusions. Transparent method. Brutally honest about limitations. No conclusion outruns its evidence. Forbidden phrases never used (`rules/cognitive-identity.md` Section 4). Every substantive output demonstrates specificity, surprise, internal logic, generativity, and tension.
|
|
118
|
+
|
|
119
|
+
### 1.4 Mode-Specific Behavior
|
|
120
|
+
|
|
121
|
+
#### NEW (Fresh Investigation)
|
|
122
|
+
|
|
123
|
+
- Question framing, hypothesis formulation, and study design from first principles.
|
|
124
|
+
- The spec defines the **target** knowledge contribution.
|
|
125
|
+
|
|
126
|
+
#### EXTENSION (Replication / Follow-up)
|
|
127
|
+
|
|
128
|
+
- **Diagnose what the prior work established and what it left open** before designing. Trace the prior result → its limitations → the open question → then design the extension.
|
|
129
|
+
- The spec defines the **prior state** (what is known) and the **target state** (what this work adds).
|
|
130
|
+
- **Claims to Preserve** section is mandatory in the synthesis — the prior findings the extension builds on, with citations.
|
|
131
|
+
- Strictly maintain the prior work's operational definitions where the extension depends on comparability.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 2. Research Suite Architecture
|
|
136
|
+
|
|
137
|
+
### 2.1 Directory Structure
|
|
138
|
+
|
|
139
|
+
```mermaid
|
|
140
|
+
%%{ init: { "theme": "neutral" } }%%
|
|
141
|
+
%% verified: 2026-06-15 %%
|
|
142
|
+
%% provenance: skills/research-suite/research_template.md §2.1 (canonical layout) %%
|
|
143
|
+
%% cross-reference: skills/research-suite/research_template.md §2.2 (storage convention) %%
|
|
144
|
+
graph TD
|
|
145
|
+
SUITE["<project-root>/.apothem/plans/[REPO_NAME]-[FIELD]-[QUESTION]/"]
|
|
146
|
+
SUITE --> SPEC["_spec/research-spec.md<br/>(question · falsifiable hypotheses · scope · criteria · metrics)"]
|
|
147
|
+
SUITE --> SRC["sources/<id>.md<br/>(one per-source extraction)"]
|
|
148
|
+
SUITE --> INP["_inputs/<br/>(source-ledger · synthesis · study-design · preregistration · handoff-manifest)"]
|
|
149
|
+
SUITE --> OUT["_outputs/<br/>(experiment-log · reproducibility-manifest · analysis · review-report · publication-record)"]
|
|
150
|
+
SUITE --> PRG["PROGRESS.md<br/>(stage tracking · Resumption Contract)"]
|
|
151
|
+
SUITE --> NOT["PLAN-NOTES.md<br/>(decision ledger · gap analysis · inquiry audit trail)"]
|
|
152
|
+
INP --> LED["source-ledger.md"]
|
|
153
|
+
INP --> SYN["synthesis.md"]
|
|
154
|
+
INP --> DES["study-design.md"]
|
|
155
|
+
INP --> PRE["preregistration.md"]
|
|
156
|
+
INP --> HAN["handoff-manifest.yml"]
|
|
157
|
+
SUITE -. deliverables at host-natural locations .-> DEL["paper/ · data/ · analysis/figures/"]
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
The `sources/` sibling houses one self-contained extraction per source (`sources/<id>.md`), each carrying the citation, the screened-in/out verdict against inclusion criteria, and the load-bearing claims extracted. The `_inputs/` sibling is the working-state surface: the source ledger, the synthesis, the study design, the frozen preregistration, and the Handoff Manifest that links upstream and downstream stages. The `_outputs/` sibling is the durable-emission surface: the experiment log, the reproducibility manifest, the analysis, the review report, and the publication record.
|
|
161
|
+
|
|
162
|
+
### 2.2 Storage Convention (state vs. deliverables)
|
|
163
|
+
|
|
164
|
+
**Research-suite working state** lives under `<project-root>/.apothem/plans/{suite}/` per the suite-locality invariant at `rules/context-management.md` §2.6.1 — gitignored per the canonical `.gitignore` snippet, lifecycle draft → in-progress → converged → abandoned. **Deliverables** — the paper, raw data, figures, tables, and code — land at **host-natural locations** discovered per `rules/host-discovery.md` (`paper/`, `data/`, `analysis/figures/`), never inside `.apothem/plans/`. The split is semantic: the suite carries the program's reasoning and audit trail; the host carries the artifacts a reader cites and re-runs.
|
|
165
|
+
|
|
166
|
+
| Artifact class | Home | Examples |
|
|
167
|
+
| -------------- | ---- | -------- |
|
|
168
|
+
| Authored spec | `{suite}/_spec/` | `research-spec.md` |
|
|
169
|
+
| Per-source extraction | `{suite}/sources/` | `sources/<id>.md` |
|
|
170
|
+
| Working state | `{suite}/_inputs/` | `source-ledger.md`, `synthesis.md`, `study-design.md`, `preregistration.md`, `handoff-manifest.yml` |
|
|
171
|
+
| Durable emissions | `{suite}/_outputs/` | `experiment-log.md`, `reproducibility-manifest.md`, `analysis.md`, `review-report.md`, `publication-record.md` |
|
|
172
|
+
| Deliverables | host-natural | `paper/`, `data/`, `analysis/figures/`, code |
|
|
173
|
+
|
|
174
|
+
### 2.3 Naming Conventions
|
|
175
|
+
|
|
176
|
+
**Suite folders:** `[REPO_NAME]-[FIELD]-[QUESTION]` in lowercase kebab-case (e.g., `agent-bench-ml-tool-calling-accuracy`). `[REPO_NAME]` is the kebab-case repository directory name; `[REPOSITORY_NAME]` (used in titles/metadata) is the same value in its original casing.
|
|
177
|
+
|
|
178
|
+
| File Type | Convention | Example |
|
|
179
|
+
| ----------- | ----------- | --------- |
|
|
180
|
+
| Research spec | `_spec/research-spec.md` | Always (suite root) |
|
|
181
|
+
| Per-source extraction | `sources/<id>.md` | `sources/smith-2024.md` |
|
|
182
|
+
| Source ledger | `_inputs/source-ledger.md` | Always |
|
|
183
|
+
| Synthesis | `_inputs/synthesis.md` | Always |
|
|
184
|
+
| Study design | `_inputs/study-design.md` | Always |
|
|
185
|
+
| Preregistration | `_inputs/preregistration.md` | Always (frozen at design close) |
|
|
186
|
+
| Handoff Manifest | `_inputs/handoff-manifest.yml` | Always |
|
|
187
|
+
| Progress | `PROGRESS.md` | Always (suite root) |
|
|
188
|
+
| Research Notes | `PLAN-NOTES.md` | Always (suite root) |
|
|
189
|
+
|
|
190
|
+
Source IDs are kebab-case `<first-author>-<year>` with a disambiguating suffix on collision (`smith-2024a`, `smith-2024b`). Stable source IDs (`S-NNNN`) are assigned at the medium+ tier so re-screens do not break references.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 3. The Nine Stages
|
|
195
|
+
|
|
196
|
+
> Each stage is a first-class `/research-<stage>` command chained by a **Sequence Gate** (predecessor precondition) and a **Handoff Manifest** (`{suite}/_inputs/handoff-manifest.yml` per `src/apothem/schemas/handoff-manifest.yaml`). A stage refuses to run when its predecessor's artifact is absent and `--override` is not set.
|
|
197
|
+
|
|
198
|
+
| # | Stage | Predecessor (Sequence Gate) | Consumes (handoff) | Emits | Rigor floor |
|
|
199
|
+
|---|-------|------------------------------|--------------------|-------|-------------|
|
|
200
|
+
| 1 | `/research-spec` | none (entry) | raw question / notes | `_spec/research-spec.md` — question, falsifiable hypotheses, scope, inclusion/exclusion criteria, success metrics, glossary. `--quick` writes a lightweight plan-local brief. | R3 |
|
|
201
|
+
| 2 | `/research-sources` | research-spec | `_spec/research-spec.md` | `sources/<id>.md` per-source extractions + `_inputs/source-ledger.md` (ranked by authority/recency/relevance, screened against inclusion criteria, citation index, dedup record). Dispatches `research-scout` (discovery) + `multi-source-research` (extraction). | R1, R4 |
|
|
202
|
+
| 3 | `/research-synthesis` | research-sources | `_inputs/source-ledger.md` + `sources/` | `_inputs/synthesis.md` — SOTA map, literature matrix, explicit gap statement the work addresses. Every claim adversarially verified by `fact-checker`; uses `source-synthesis`. | R1, R4 |
|
|
203
|
+
| 4 | `/research-design` | research-synthesis | `_inputs/synthesis.md` + `_spec/research-spec.md` | `_inputs/study-design.md` (operationalized predictions, variables, controls, sample, instruments, power analysis, threats-to-validity) + `_inputs/preregistration.md` (frozen analysis plan). | R5, R7 |
|
|
204
|
+
| 5 | `/research-experiment` | research-design | `_inputs/study-design.md` + `_inputs/preregistration.md` | `_outputs/experiment-log.md` + raw data at host-natural location + `_outputs/reproducibility-manifest.md` (env, seed, protocol, version pins). | R2 |
|
|
205
|
+
| 6 | `/research-analysis` | research-experiment | raw data + `_inputs/preregistration.md` | `_outputs/analysis.md` (tests run per the preregistered plan, effect sizes + CIs, robustness/sensitivity checks, deviations disclosed) + figures/tables at host-natural location. | R5, R7 |
|
|
206
|
+
| 7 | `/research-paper` | research-analysis | `_inputs/synthesis.md` + `_inputs/study-design.md` + `_outputs/analysis.md` | the paper deliverable at a host-natural location (`paper/`) — abstract, intro, related work, method, results, discussion, limitations, conclusion, references; every citation verified. | R4 |
|
|
207
|
+
| 8 | `/research-review` | research-paper | the paper deliverable | `_outputs/review-report.md` — peer-review-grade scorecard (novelty, rigor, reproducibility, clarity, ethics) + required-revision list, severity-triaged HIGH/MEDIUM/LOW with concrete-driver rationale. Adversarial, refute-by-default. | R1, R6 |
|
|
208
|
+
| 9 | `/research-publish` | research-review | the paper + `_outputs/review-report.md` | venue-formatted submission package (paper + supplementary + data/code-availability statement + cover letter + ethics/COI declarations) + preprint/archival plan (DOI) + `_outputs/publication-record.md` + submission checklist. | R6 |
|
|
209
|
+
|
|
210
|
+
**Sequence Gate.** Each stage declares its predecessor precondition, emits `Blocked: run /research-<predecessor> first` when the predecessor artifact is absent, and admits an `--override` audit path recorded in PLAN-NOTES.md. The Handoff Manifest's `p0-unresolved: 0` / `p1-unresolved: 0` invariant gates every advance.
|
|
211
|
+
|
|
212
|
+
**The `/research` wrapper.** `commands/research.md` drives the mission end-to-end by dispatching the nine stages as workflow phases under named Handoff-Manifest return contracts, routing each hand-off through a refute-by-default verification pass. `--quick` runs sources + synthesis only (a cited report with per-claim confidence bands); full mode halts at each stage boundary unless `--autonomous` is set.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 4. Rigor Mandates
|
|
217
|
+
|
|
218
|
+
> **NON-NEGOTIABLE at the declared seriousness level.** The seven mandates are the research-suite floor every stage honors. Rigor intensity scales per `CLAUDE.md` Section 4. These are the canonical definitions — referenced elsewhere as `R-N`.
|
|
219
|
+
|
|
220
|
+
### R1: Authoritative Sources
|
|
221
|
+
|
|
222
|
+
Every load-bearing claim cites a primary source — peer-reviewed, official, or archival. Folklore, blog-hearsay, and uncited assertion are excluded. The `fact-checker` lens adversarially verifies each claim against its cited source; a claim whose source does not substantiate it is struck or downgraded to a stated conjecture. Secondary sources are admissible only as pointers to the primary they cite.
|
|
223
|
+
|
|
224
|
+
### R2: Reproducibility
|
|
225
|
+
|
|
226
|
+
Method, environment, random seed, data version, and protocol are recorded in `_outputs/reproducibility-manifest.md` so an independent party re-runs the study and reaches the same result. Version pins are explicit (`==` for production-relevant dependencies). Non-determinism is declared with its source named (seed, hardware, timing). A result that cannot be re-derived from the manifest is not a result.
|
|
227
|
+
|
|
228
|
+
### R3: Falsifiability
|
|
229
|
+
|
|
230
|
+
Hypotheses are stated as testable, refutable predictions — each names the observation that confirms it and the observation that refutes it. Null results are recorded with the same rigor as positive results. A hypothesis no observation can refute is reframed or struck at `/research-spec` before the program advances.
|
|
231
|
+
|
|
232
|
+
### R4: Citation Integrity
|
|
233
|
+
|
|
234
|
+
Every citation resolves to a real, retrievable source — DOI, permalink, or commit-pinned reference with an access date where the source is volatile. Phantom citations (a reference that does not say what the text claims, or does not exist) are structural failures per `rules/ten-dimension-check.md` dimension 9. The paper's reference list and the source ledger reconcile: every in-text citation appears in the ledger, and every screened-in source the paper relies on appears in the references.
|
|
235
|
+
|
|
236
|
+
### R5: Preregistration Discipline
|
|
237
|
+
|
|
238
|
+
The analysis plan is fixed in `_inputs/preregistration.md` before data collection — primary endpoint, statistical tests, exclusion rules, and stopping criteria are frozen at `/research-design` close. Deviations from the frozen plan are disclosed explicitly at `/research-analysis` with their rationale; exploratory analyzes are labeled exploratory and never presented as confirmatory.
|
|
239
|
+
|
|
240
|
+
### R6: Ethics and Conflicts
|
|
241
|
+
|
|
242
|
+
Human-subjects, animal, and data-privacy considerations are declared at `/research-design` and carried into the publication package. Conflicts of interest, funding sources, and data/code availability are stated in the submission. The ethics and COI declarations are part of the deliverable, not an afterthought.
|
|
243
|
+
|
|
244
|
+
### R7: Statistical Rigor
|
|
245
|
+
|
|
246
|
+
Results report effect sizes and confidence intervals, not p-values alone. Assumption checks (normality, independence, variance homogeneity) are run and reported. Multiple-comparison correction is applied where the design tests several hypotheses. Statistical power is justified at design time (R5) so a null result distinguishes "no effect" from "underpowered to detect one".
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 5. Stage Framework
|
|
251
|
+
|
|
252
|
+
### 5.1 Sequence-Gated Default
|
|
253
|
+
|
|
254
|
+
Each stage halts at its boundary by default. Advance only when the predecessor artifact exists, the Handoff Manifest's unresolved-count invariant holds, and the user approves. `--autonomous` chains stages under the wrapper; `--override` bypasses a Sequence Gate with an audit row in PLAN-NOTES.md.
|
|
255
|
+
|
|
256
|
+
### 5.2 Stage Order
|
|
257
|
+
|
|
258
|
+
Stages execute spec → sources → synthesis → design → experiment → analysis → paper → review → publish. The order is a strict prerequisite chain — synthesis cannot precede sources; the preregistration (design close) cannot follow data collection (experiment). `/research-review` may loop back to `/research-paper` for required revisions before `/research-publish`.
|
|
259
|
+
|
|
260
|
+
### 5.3 Parallelization Playbook
|
|
261
|
+
|
|
262
|
+
Source extraction parallelizes: launch one agent per source batch under the `multi-source-research` skill, each returning a structured extraction with a return contract per `rules/agent-orchestration.md`. Synthesis, design, and analysis are sequential — they depend on the prior stage's complete output. Within `/research-sources`, discovery (`research-scout`) and extraction parallelize across non-overlapping source sets.
|
|
263
|
+
|
|
264
|
+
### 5.4 Recovery and Continuity
|
|
265
|
+
|
|
266
|
+
Externalize state continuously to PROGRESS.md and PLAN-NOTES.md per `rules/context-management.md`. Four common scenarios:
|
|
267
|
+
|
|
268
|
+
1. **Context rot mid-stage** — Session End Protocol, new session, re-read PROGRESS.md Resumption Contract + the target stage's input artifacts.
|
|
269
|
+
2. **Source corpus drift** — a re-screen invalidates the synthesis: re-run `/research-synthesis` against the updated ledger; the design downstream re-checks its gap statement.
|
|
270
|
+
3. **Failed experiment run** — the reproducibility manifest pins the exact failure point; resume from the logged checkpoint, never silently re-randomize.
|
|
271
|
+
4. **Review-mandated revision** — `/research-review` HIGH findings loop back to `/research-paper`; the revision re-runs `/research-review` before `/research-publish`.
|
|
272
|
+
|
|
273
|
+
### 5.5 Self-Improvement Loop
|
|
274
|
+
|
|
275
|
+
After corrections, create or evolve skills per `CLAUDE.md` Section 7.6 (Artifact Evolution). A recurring extraction pattern, a domain-specific screening heuristic, or a reusable statistical check graduates to a skill.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 6. Research Principles
|
|
280
|
+
|
|
281
|
+
> **Principles forming the methodological foundation.** Applied across all nine stages. Principles overlapping a rigor mandate (Section 4) reference it by `→R-N` rather than restating.
|
|
282
|
+
|
|
283
|
+
### Inquiry
|
|
284
|
+
|
|
285
|
+
1. **Question First (RP-1)** — the knowledge gap drives the program, not the available method. A method in search of a question produces incremental noise.
|
|
286
|
+
2. **Falsifiability (RP-2)** — every hypothesis names its refuter. (→R3)
|
|
287
|
+
3. **Prior-Art Honesty (RP-3)** — the gap statement is grounded in a screened corpus, not in the absence of a literature search.
|
|
288
|
+
|
|
289
|
+
### Evidence
|
|
290
|
+
|
|
291
|
+
1. **Primary Sourcing (RP-4)** — load-bearing claims trace to primary sources. (→R1)
|
|
292
|
+
2. **Citation Integrity (RP-5)** — every citation resolves and substantiates. (→R4)
|
|
293
|
+
3. **Refute by Default (RP-6)** — a claim survives adversarial verification or it is struck.
|
|
294
|
+
|
|
295
|
+
### Method
|
|
296
|
+
|
|
297
|
+
1. **Preregistration (RP-7)** — the analysis plan precedes the data. (→R5)
|
|
298
|
+
2. **Reproducibility (RP-8)** — the manifest lets an independent party re-run. (→R2)
|
|
299
|
+
3. **Statistical Honesty (RP-9)** — effect sizes and intervals, assumption checks, multiplicity correction. (→R7)
|
|
300
|
+
4. **Threats to Validity (RP-10)** — internal, external, construct, and statistical-conclusion validity threats are named at design time and revisited at analysis.
|
|
301
|
+
|
|
302
|
+
### Communication
|
|
303
|
+
|
|
304
|
+
1. **No Conclusion Outruns Its Evidence (RP-11)** — the discussion claims exactly what the analysis supports, and the limitations name what it does not.
|
|
305
|
+
2. **Ethics and Availability (RP-12)** — ethics, COI, and data/code availability are first-class deliverables. (→R6)
|
|
306
|
+
3. **Null Results Count (RP-13)** — a well-designed null result is a contribution, recorded and reported, not buried.
|
|
307
|
+
|
|
308
|
+
### Meta
|
|
309
|
+
|
|
310
|
+
1. **Continuous Learning (RP-14)** — reusable research techniques graduate to skills per CLAUDE.md Section 7.6.
|
|
311
|
+
2. **Difficulty Is Data (RP-15)** — a question hard to operationalize signals proximity to a genuine gap; press forward and invent the construct.
|
|
312
|
+
3. **Steal Like an Ecosystem (RP-16)** — draw method from any discipline; recombination at scale becomes a novel design.
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## 7. Stage Command Registry
|
|
317
|
+
|
|
318
|
+
| Command | Stage | Phases | Deliverables |
|
|
319
|
+
| ------- | ----- | ------ | ------------ |
|
|
320
|
+
| `/research-spec` | 1 | Frame → Falsify → Scope → Criteria → Metrics → Handoff | `_spec/research-spec.md` |
|
|
321
|
+
| `/research-sources` | 2 | Discover → Screen → Extract → Rank → Dedup → Ledger | `sources/<id>.md`, `_inputs/source-ledger.md` |
|
|
322
|
+
| `/research-synthesis` | 3 | Map → Matrix → Verify → Gap → Handoff | `_inputs/synthesis.md` |
|
|
323
|
+
| `/research-design` | 4 | Operationalize → Power → Validity → Preregister → Handoff | `_inputs/study-design.md`, `_inputs/preregistration.md` |
|
|
324
|
+
| `/research-experiment` | 5 | Setup → Execute → Log → Manifest → Handoff | `_outputs/experiment-log.md`, raw data, `_outputs/reproducibility-manifest.md` |
|
|
325
|
+
| `/research-analysis` | 6 | Test → Effect-Size → Robustness → Disclose → Handoff | `_outputs/analysis.md`, figures/tables |
|
|
326
|
+
| `/research-paper` | 7 | Draft → Cite → Verify → Assemble → Handoff | `paper/` deliverable |
|
|
327
|
+
| `/research-review` | 8 | Score → Triage → Refute → Required-Revisions → Handoff | `_outputs/review-report.md` |
|
|
328
|
+
| `/research-publish` | 9 | Format → Declare → Archive → Checklist → Record | submission package, `_outputs/publication-record.md` |
|
|
329
|
+
|
|
330
|
+
> **Creative Architecture (CM-21)** applies across all stages per seriousness scaling. **Always-on mandates** (CM-22, CM-24–CM-26) and **path-filtered** (CM-23, CM-27, CM-28) — see `rules/` for full specifications.
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## 8. Usage Instructions
|
|
335
|
+
|
|
336
|
+
### 8.1 Quick Start
|
|
337
|
+
|
|
338
|
+
1. **State the question** — write the research question or provide it interactively.
|
|
339
|
+
2. **Invoke** — `/research-spec` (or `/research --quick` for a cited report from sources + synthesis only).
|
|
340
|
+
3. **Frame** — answer the structured-inquiry batches that scope and falsify the question.
|
|
341
|
+
4. **Ground** — `/research-sources` then `/research-synthesis` build and verify the prior-art map.
|
|
342
|
+
5. **Design** — `/research-design` operationalizes and preregisters.
|
|
343
|
+
6. **Execute** — `/research-experiment` then `/research-analysis` produce and interpret results.
|
|
344
|
+
7. **Communicate** — `/research-paper`, `/research-review`, `/research-publish`.
|
|
345
|
+
|
|
346
|
+
### 8.2 Recovering from Context Rot
|
|
347
|
+
|
|
348
|
+
Start a new session. The Blind Bootstrap Protocol (`rules/context-management.md` §6) ensures zero-loss recovery: read PROGRESS.md Resumption Contract for the current stage and next action; read the target stage's input artifacts in listed order; validate the Handoff Manifest's unresolved-count invariant; continue from the recorded next action.
|
|
349
|
+
|
|
350
|
+
### 8.3 Literature-Only Mode
|
|
351
|
+
|
|
352
|
+
`/research --quick` runs sources + synthesis only, emitting a cited report with per-claim confidence bands. This preserves the single-shot deep-research capability without the full experimental program — appropriate when the deliverable is a synthesis, not a new study.
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## 9. Appendix: Research Suite Completeness Checklist
|
|
357
|
+
|
|
358
|
+
**A. Framing:**
|
|
359
|
+
|
|
360
|
+
- [ ] Question stated as a falsifiable prediction (R3)
|
|
361
|
+
- [ ] Inclusion/exclusion criteria explicit
|
|
362
|
+
- [ ] Success metrics measurable
|
|
363
|
+
|
|
364
|
+
**B. Grounding:**
|
|
365
|
+
|
|
366
|
+
- [ ] Every screened-in source has a `sources/<id>.md` extraction
|
|
367
|
+
- [ ] Source ledger ranked and deduplicated
|
|
368
|
+
- [ ] Every synthesis claim adversarially verified (R1)
|
|
369
|
+
- [ ] Every citation resolves (R4)
|
|
370
|
+
- [ ] Explicit gap statement present
|
|
371
|
+
|
|
372
|
+
**C. Design:**
|
|
373
|
+
|
|
374
|
+
- [ ] Predictions operationalized into variables and controls
|
|
375
|
+
- [ ] Power analysis justifies the sample (R7)
|
|
376
|
+
- [ ] Threats to validity named (RP-10)
|
|
377
|
+
- [ ] Analysis plan frozen in `_inputs/preregistration.md` (R5)
|
|
378
|
+
- [ ] Ethics and COI declared (R6)
|
|
379
|
+
|
|
380
|
+
**D. Execution and Analysis:**
|
|
381
|
+
|
|
382
|
+
- [ ] Reproducibility manifest pins env, seed, protocol, versions (R2)
|
|
383
|
+
- [ ] Tests run per the preregistered plan; deviations disclosed (R5)
|
|
384
|
+
- [ ] Effect sizes and confidence intervals reported (R7)
|
|
385
|
+
- [ ] Assumption checks and multiplicity correction applied (R7)
|
|
386
|
+
|
|
387
|
+
**E. Communication:**
|
|
388
|
+
|
|
389
|
+
- [ ] No conclusion outruns its evidence (RP-11)
|
|
390
|
+
- [ ] Limitations name what the analysis does not support
|
|
391
|
+
- [ ] Reference list reconciles with the source ledger (R4)
|
|
392
|
+
- [ ] Data/code-availability statement present (R6)
|
|
393
|
+
- [ ] Review report's HIGH findings resolved before publish
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
## 10. Appendix: Field-Specific Standard Bundles
|
|
398
|
+
|
|
399
|
+
> **Optional supplements** to the spec and study-design stages. Select bundles matching your field.
|
|
400
|
+
|
|
401
|
+
### Bundle A: ML / Systems Benchmarking
|
|
402
|
+
|
|
403
|
+
- **Tooling:** seeded RNG, fixed dataset versions, hardware-pinned runs, experiment tracking
|
|
404
|
+
- **Standards:** held-out test set never touched during design, multiple seeds with variance reported, ablations
|
|
405
|
+
- **Rigor:** R2 (seed + version pins), R7 (variance across seeds, not a single run)
|
|
406
|
+
|
|
407
|
+
### Bundle B: Human-Subjects / HCI
|
|
408
|
+
|
|
409
|
+
- **Tooling:** IRB protocol, consent records, pre-registered analysis, counterbalanced conditions
|
|
410
|
+
- **Standards:** power analysis before recruitment, attention checks, debrief
|
|
411
|
+
- **Rigor:** R5 (preregistration), R6 (ethics + consent), R7 (mixed-effects where repeated measures)
|
|
412
|
+
|
|
413
|
+
### Bundle C: Empirical Software Engineering
|
|
414
|
+
|
|
415
|
+
- **Tooling:** mined repository corpus with screening criteria, replication package, statistical scripts versioned
|
|
416
|
+
- **Standards:** construct-validity threats named, sampling bias addressed, sensitivity analysis
|
|
417
|
+
- **Rigor:** R1 (primary repositories, not surveys-of-surveys), R2 (replication package), R4 (artifact DOI)
|
|
418
|
+
|
|
419
|
+
### Bundle D: Quantitative Social / Economic
|
|
420
|
+
|
|
421
|
+
- **Tooling:** identification strategy declared, robustness battery, pre-analysis plan
|
|
422
|
+
- **Standards:** causal-inference assumptions stated and tested, placebo tests, multiple specifications
|
|
423
|
+
- **Rigor:** R5 (pre-analysis plan), R7 (confidence intervals, clustered standard errors)
|
|
424
|
+
|
|
425
|
+
### Bundle E: Systematic Review / Meta-Analysis
|
|
426
|
+
|
|
427
|
+
- **Tooling:** PRISMA flow, search-string log, dual screening, effect-size extraction sheet
|
|
428
|
+
- **Standards:** inclusion/exclusion criteria frozen before screening, heterogeneity assessed, publication-bias check
|
|
429
|
+
- **Rigor:** R1 (primary studies only), R3 (pre-registered review question), R7 (heterogeneity + funnel plot)
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## Decision Tree
|
|
434
|
+
|
|
435
|
+
```mermaid
|
|
436
|
+
%%{ init: { "theme": "neutral" } }%%
|
|
437
|
+
%% verified: 2026-06-15 %%
|
|
438
|
+
%% provenance: skills/research-suite/research_template.md §3 (nine stages) + §5.1 (sequence-gated default) %%
|
|
439
|
+
%% cross-reference: skills/research-suite/research_template.md §3 (per-stage handoff table) %%
|
|
440
|
+
flowchart TD
|
|
441
|
+
Start[Research mission begins] --> Q0{Deliverable is a new study or a cited synthesis?}
|
|
442
|
+
Q0 -->|cited synthesis only| Quick[/research --quick · sources + synthesis · per-claim confidence bands/]
|
|
443
|
+
Q0 -->|new study| Spec[/research-spec · falsifiable question · R3/]
|
|
444
|
+
Spec --> G1{Hypothesis names its refuter?}
|
|
445
|
+
G1 -->|no| Reframe[Reframe or strike at spec · do not advance]
|
|
446
|
+
G1 -->|yes| Sources[/research-sources · discover · screen · extract · R1 R4/]
|
|
447
|
+
Quick --> Sources
|
|
448
|
+
Sources --> Synth[/research-synthesis · SOTA map · gap statement · fact-checker verify/]
|
|
449
|
+
Synth --> Q1{New study, or synthesis is the deliverable?}
|
|
450
|
+
Q1 -->|synthesis is deliverable| Report[Cited report · STOP]
|
|
451
|
+
Q1 -->|new study| Design[/research-design · operationalize · power · preregister · R5 R7/]
|
|
452
|
+
Design --> G2{Analysis plan frozen before data?}
|
|
453
|
+
G2 -->|no| Freeze[Freeze preregistration · then proceed]
|
|
454
|
+
G2 -->|yes| Exp[/research-experiment · run · reproducibility manifest · R2/]
|
|
455
|
+
Exp --> Analysis[/research-analysis · test per plan · effect sizes + CIs · disclose deviations · R7/]
|
|
456
|
+
Analysis --> Paper[/research-paper · draft · cite · verify references · R4/]
|
|
457
|
+
Paper --> Review[/research-review · adversarial scorecard · severity-triaged revisions · R1 R6/]
|
|
458
|
+
Review --> G3{HIGH findings remain?}
|
|
459
|
+
G3 -->|yes| Paper
|
|
460
|
+
G3 -->|no| Publish[/research-publish · venue package · ethics + COI + availability · R6/]
|
|
461
|
+
Publish --> Done[Publication record emitted]
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
---
|
|
465
|
+
|
|
466
|
+
## Recommended Next Step
|
|
467
|
+
|
|
468
|
+
**Invoke `/research-spec`** to consume this template and transform the authored question into a falsifiable `_spec/research-spec.md` with scope, inclusion/exclusion criteria, and success metrics. `/research-spec` is the canonical entry stage that seeds the Handoff Manifest the eight downstream stages chain against.
|
|
469
|
+
|
|
470
|
+
## Bindings (§0.j five-direction)
|
|
471
|
+
|
|
472
|
+
- **Drives →** ● Every `/research-<stage>` command's resolution of this template at `skills/research-suite/research_template.md`. ● Every `R-N` / `RP-N` cross-reference resolution across the nine pipeline stages. ● Every research-suite emission's structural conformity (the template is the canonical schema for the directory layout, per-stage artifact slots, and rigor floor). ◐ The Handoff Manifest chaining per `src/apothem/schemas/handoff-manifest.yaml`.
|
|
473
|
+
- **Satisfies →** ● The research-suite knowledge surface the nine `/research-<stage>` commands consume by path. ● The seven-mandate rigor floor (R1–R7) every stage honors.
|
|
474
|
+
- **Established by ↑** ● `skills/research-suite/SKILL.md` (the skill container that declares this template's path and resolution contract). ● `CLAUDE.md` Source Layout (skills/ class declaration). ● The research-pipeline design contract that ratifies the nine-stage shape, the storage convention, and the R1–R7 mandates.
|
|
475
|
+
- **Gated by ←** ● The harness's Read tool surface (commands resolve the template by reading the canonical path). ● The presence of the template file at the canonical path (path-based resolution, no fallback registry). ● The Sequence-Gate predecessor chain (a stage refuses to run when its predecessor artifact is absent and `--override` is unset).
|
|
476
|
+
- **Cross-bound with ↔** ↔ `skills/plan-suite/master_template.md` (sibling template; the plan-pipeline analogue this template mirrors section-for-section). ↔ `skills/research-suite/SKILL.md` (the skill container resolving this template). ↔ `skills/multi-source-research/SKILL.md` + `skills/source-synthesis/SKILL.md` (the extraction and synthesis skills stages 2–3 dispatch). ↔ `src/apothem/schemas/handoff-manifest.yaml` (the Handoff Manifest schema that chains the nine stages). ↔ `rules/context-management.md` (§2.6.1 suite-locality invariant; the storage convention). ↔ `rules/host-discovery.md` (M1 — deliverables land at host-natural locations). ↔ `rules/ten-dimension-check.md` (dimension 9 — citation integrity, R4). ↔ `rules/agent-orchestration.md` (CM-25 — source-extraction parallelization).
|