@agentikos/omega-os 0.2.0 → 0.19.6
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/README.md +33 -3
- package/bootstrap/lib/__pycache__/claude-code-settings.cpython-313.pyc +0 -0
- package/bootstrap/lib/__pycache__/llm-clis.cpython-313.pyc +0 -0
- package/bootstrap/lib/__pycache__/manifest-helpers.cpython-313.pyc +0 -0
- package/bootstrap/lib/claude-code-settings.py +176 -0
- package/bootstrap/lib/common.sh +457 -1
- package/bootstrap/lib/llm-clis.py +341 -0
- package/bootstrap/lib/manifest-helpers.py +384 -0
- package/bootstrap/lib/steps.sh +790 -21
- package/bootstrap/manifest.example.yaml +87 -1
- package/bootstrap/templates/aisb/CLAUDE.md +305 -0
- package/bootstrap/templates/aisb/architect.md +204 -0
- package/bootstrap/templates/aisb/checkers/CLAUDE.md +9 -0
- package/bootstrap/templates/aisb/checkers/checker-architect.md +151 -0
- package/bootstrap/templates/aisb/checkers/checker-common.md +171 -0
- package/bootstrap/templates/aisb/checkers/checker-construct.md +129 -0
- package/bootstrap/templates/aisb/checkers/checker-keymaker.md +204 -0
- package/bootstrap/templates/aisb/checkers/checker-link.md +205 -0
- package/bootstrap/templates/aisb/checkers/checker-merovingian.md +219 -0
- package/bootstrap/templates/aisb/checkers/checker-morpheus.md +211 -0
- package/bootstrap/templates/aisb/checkers/checker-neo.md +177 -0
- package/bootstrap/templates/aisb/checkers/checker-niobe.md +156 -0
- package/bootstrap/templates/aisb/checkers/checker-oracle.md +164 -0
- package/bootstrap/templates/aisb/checkers/checker-seraph.md +187 -0
- package/bootstrap/templates/aisb/checkers/checker-smith.md +195 -0
- package/bootstrap/templates/aisb/checkers/checker-zion.md +113 -0
- package/bootstrap/templates/aisb/construct.md +135 -0
- package/bootstrap/templates/aisb/keymaker.md +227 -0
- package/bootstrap/templates/aisb/link.md +170 -0
- package/bootstrap/templates/aisb/lmc-protocol.md +57 -0
- package/bootstrap/templates/aisb/merovingian.md +159 -0
- package/bootstrap/templates/aisb/morpheus.md +243 -0
- package/bootstrap/templates/aisb/neo.md +147 -0
- package/bootstrap/templates/aisb/niobe.md +197 -0
- package/bootstrap/templates/aisb/oracle.md +244 -0
- package/bootstrap/templates/aisb/protocols/handoff-templates.md +204 -0
- package/bootstrap/templates/aisb/protocols/shared-protocol.md +248 -0
- package/bootstrap/templates/aisb/pythia.md +153 -0
- package/bootstrap/templates/aisb/seraph.md +315 -0
- package/bootstrap/templates/aisb/smith.md +202 -0
- package/bootstrap/templates/aisb/zion.md +172 -0
- package/bootstrap/templates/autonomous/audit-patrol.yaml +41 -0
- package/bootstrap/templates/autonomous/smith-reflect.yaml +43 -0
- package/bootstrap/templates/autonomous/ssh-key-rotate.yaml +46 -0
- package/bootstrap/templates/autonomous/support-agent.yaml +38 -0
- package/docs/AUDITS.md +85 -0
- package/docs/GAP-ANALYSIS.md +214 -0
- package/docs/INSTALL.md +47 -9
- package/docs/MCP-AND-PLUGINS.md +31 -4
- package/docs/SIMULATION.md +171 -0
- package/docs/simulate.sh +211 -0
- package/install.sh +164 -17
- package/omega/Agentik_Engine/README.md +4 -2
- package/omega/Agentik_Engine/omega_engine/__init__.py +147 -1
- package/omega/Agentik_Engine/omega_engine/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/account.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/agent_messages.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/aisb_chat.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/audit.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/audit_arsenal.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/audit_diff.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/audit_gate.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/auto_update.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/autonomous.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/backup.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/barrier.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/bus.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/cadence.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/classifier.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/cleanup.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/cli.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/completions.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/costs.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/done_signal.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/envelope.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/events.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/executor.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/handoff.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/hermes.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/hermes_bootstrap.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/hermes_desktop.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/learning.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/managed_agent.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/memory.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/menu.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/mission.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/plan.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/progress.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/project.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/prompts.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/provider.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/prune.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/pursue.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/reducer.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/report.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/router.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/skill_routing.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/smoke.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/store.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/supervisor.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/sync.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/task.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/telegram.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/telegram_history.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/tmux.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/tools.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/understand_anything.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/updater.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/validate.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/vault.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/webhooks.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/worker.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/account.py +28 -31
- package/omega/Agentik_Engine/omega_engine/agent_messages.py +167 -0
- package/omega/Agentik_Engine/omega_engine/aisb_chat.py +128 -0
- package/omega/Agentik_Engine/omega_engine/audit_diff.py +99 -0
- package/omega/Agentik_Engine/omega_engine/audit_gate.py +149 -0
- package/omega/Agentik_Engine/omega_engine/audits/__init__.py +60 -0
- package/omega/Agentik_Engine/omega_engine/audits/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/audits/__pycache__/batcher.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/audits/__pycache__/dispatcher.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/audits/__pycache__/generator.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/audits/__pycache__/history.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/audits/__pycache__/pipeline.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/audits/batcher.py +218 -0
- package/omega/Agentik_Engine/omega_engine/audits/dispatcher.py +92 -0
- package/omega/Agentik_Engine/omega_engine/audits/generator.py +234 -0
- package/omega/Agentik_Engine/omega_engine/audits/history.py +168 -0
- package/omega/Agentik_Engine/omega_engine/audits/pipeline.py +198 -0
- package/omega/Agentik_Engine/omega_engine/auto_update.py +339 -0
- package/omega/Agentik_Engine/omega_engine/backup.py +215 -0
- package/omega/Agentik_Engine/omega_engine/cadence.py +158 -0
- package/omega/Agentik_Engine/omega_engine/classifier.py +215 -0
- package/omega/Agentik_Engine/omega_engine/cleanup.py +673 -0
- package/omega/Agentik_Engine/omega_engine/cli.py +4156 -86
- package/omega/Agentik_Engine/omega_engine/completions.py +260 -0
- package/omega/Agentik_Engine/omega_engine/costs.py +100 -0
- package/omega/Agentik_Engine/omega_engine/daemons/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/daemons/__pycache__/autonomous.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/daemons/__pycache__/engine.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/daemons/__pycache__/telegram.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/daemons/engine.py +53 -4
- package/omega/Agentik_Engine/omega_engine/daemons/telegram.py +101 -17
- package/omega/Agentik_Engine/omega_engine/done_signal.py +154 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/artifact.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/automation.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/base.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/claudecode.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/connection.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/coworker.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/loop.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/prompt.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/educators/__pycache__/skill.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/envelope.py +219 -0
- package/omega/Agentik_Engine/omega_engine/executor.py +149 -10
- package/omega/Agentik_Engine/omega_engine/genesis/__init__.py +134 -0
- package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/orchestrator.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/phases.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/stack.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/state.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/genesis/orchestrator.py +262 -0
- package/omega/Agentik_Engine/omega_engine/genesis/phases.py +950 -0
- package/omega/Agentik_Engine/omega_engine/genesis/stack.py +324 -0
- package/omega/Agentik_Engine/omega_engine/genesis/state.py +353 -0
- package/omega/Agentik_Engine/omega_engine/handoff.py +459 -0
- package/omega/Agentik_Engine/omega_engine/hermes.py +426 -0
- package/omega/Agentik_Engine/omega_engine/hermes_bootstrap.py +382 -0
- package/omega/Agentik_Engine/omega_engine/hermes_desktop.py +469 -0
- package/omega/Agentik_Engine/omega_engine/integrations/__init__.py +30 -0
- package/omega/Agentik_Engine/omega_engine/integrations/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/integrations/__pycache__/graphify.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/integrations/graphify.py +234 -0
- package/omega/Agentik_Engine/omega_engine/learning.py +268 -0
- package/omega/Agentik_Engine/omega_engine/managed_agent.py +467 -0
- package/omega/Agentik_Engine/omega_engine/memory.py +271 -0
- package/omega/Agentik_Engine/omega_engine/menu.py +1065 -0
- package/omega/Agentik_Engine/omega_engine/migrations/__init__.py +144 -0
- package/omega/Agentik_Engine/omega_engine/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/migrations/__pycache__/v0_14_0.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/migrations/v0_14_0.py +29 -0
- package/omega/Agentik_Engine/omega_engine/mission.py +16 -13
- package/omega/Agentik_Engine/omega_engine/plan.py +846 -0
- package/omega/Agentik_Engine/omega_engine/prompts.py +158 -0
- package/omega/Agentik_Engine/omega_engine/provider.py +161 -12
- package/omega/Agentik_Engine/omega_engine/prune.py +151 -0
- package/omega/Agentik_Engine/omega_engine/pursue.py +205 -0
- package/omega/Agentik_Engine/omega_engine/rag/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/rag/__pycache__/agentic.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/rag/__pycache__/base.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/rag/__pycache__/corrective.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/rag/__pycache__/graph.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/rag/__pycache__/hybrid.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/rag/__pycache__/multimodal.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/rag/__pycache__/router.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/router.py +28 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/__init__.py +48 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/auditor.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/finder.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/installer.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/marketplaces.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/auditor.py +232 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/finder.py +94 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/installer.py +129 -0
- package/omega/Agentik_Engine/omega_engine/skill_discovery/marketplaces.py +80 -0
- package/omega/Agentik_Engine/omega_engine/skill_routing.py +388 -0
- package/omega/Agentik_Engine/omega_engine/smoke.py +81 -0
- package/omega/Agentik_Engine/omega_engine/store.py +88 -41
- package/omega/Agentik_Engine/omega_engine/sync.py +142 -1
- package/omega/Agentik_Engine/omega_engine/telegram_history.py +260 -0
- package/omega/Agentik_Engine/omega_engine/tmux.py +526 -0
- package/omega/Agentik_Engine/omega_engine/understand_anything.py +275 -0
- package/omega/Agentik_Engine/omega_engine/updater.py +70 -0
- package/omega/Agentik_Engine/omega_engine/validate.py +186 -0
- package/omega/Agentik_Engine/omega_engine/vault.py +342 -0
- package/omega/Agentik_Engine/omega_engine/webhooks.py +262 -0
- package/omega/Agentik_Engine/omega_engine/worker.py +526 -0
- package/omega/Agentik_Engine/pyproject.toml +1 -1
- package/omega/Agentik_Engine/tests/__pycache__/test_account.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_account.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_adversarial.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_adversarial.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_agents_envelope.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_agents_envelope.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_audit_arsenal.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_audit_arsenal.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_audits_pipeline.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_audits_pipeline.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_auto_update_and_migrations.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_auto_update_and_migrations.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_autonomous.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_autonomous.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_educators.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_educators.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_executor.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_executor.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_genesis_and_plan.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_genesis_and_plan.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_graphify.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_graphify.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_handoff.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_handoff.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_hermes_and_ua.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_hermes_and_ua.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_hermes_bootstrap_and_desktop.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_hermes_bootstrap_and_desktop.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_install_steps.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_install_steps.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_install_ux.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_install_ux.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_installer_wiring.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_installer_wiring.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_intelligence.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_intelligence.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_llm_clis_and_uninstall.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_llm_clis_and_uninstall.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_managed_agent.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_managed_agent.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_max_provider_and_menu.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_max_provider_and_menu.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_menu_coverage.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_menu_coverage.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_mission.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_mission.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_progress.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_progress.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_project.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_project.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_pursue_cadence.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_pursue_cadence.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_rag.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_rag.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_reducer.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_reducer.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_report.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_report.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_role_aliases_and_ssot.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_role_aliases_and_ssot.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_skill_discovery_and_gate.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_skill_discovery_and_gate.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_skill_power.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_skill_power.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_skill_routing.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_skill_routing.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_snapshot_partial.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_snapshot_partial.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_telegram_history.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_telegram_history.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_tmux_and_aisb_chat.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_tmux_and_aisb_chat.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_tools_and_sync.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_tools_and_sync.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_v06_features.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_v06_features.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_vault.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_vault.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_webhooks_and_readiness.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_webhooks_and_readiness.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_worker_and_cleanup.cpython-313-pytest-8.4.2.pyc +0 -0
- package/omega/Agentik_Engine/tests/__pycache__/test_worker_and_cleanup.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/tests/test_account.py +8 -3
- package/omega/Agentik_Engine/tests/test_adversarial.py +351 -0
- package/omega/Agentik_Engine/tests/test_agents_envelope.py +274 -0
- package/omega/Agentik_Engine/tests/test_audits_pipeline.py +348 -0
- package/omega/Agentik_Engine/tests/test_auto_update_and_migrations.py +394 -0
- package/omega/Agentik_Engine/tests/test_genesis_and_plan.py +573 -0
- package/omega/Agentik_Engine/tests/test_graphify.py +190 -0
- package/omega/Agentik_Engine/tests/test_handoff.py +311 -0
- package/omega/Agentik_Engine/tests/test_hermes_and_ua.py +387 -0
- package/omega/Agentik_Engine/tests/test_hermes_bootstrap_and_desktop.py +358 -0
- package/omega/Agentik_Engine/tests/test_install_steps.py +359 -0
- package/omega/Agentik_Engine/tests/test_install_ux.py +151 -0
- package/omega/Agentik_Engine/tests/test_installer_wiring.py +496 -0
- package/omega/Agentik_Engine/tests/test_intelligence.py +285 -0
- package/omega/Agentik_Engine/tests/test_llm_clis_and_uninstall.py +228 -0
- package/omega/Agentik_Engine/tests/test_managed_agent.py +363 -0
- package/omega/Agentik_Engine/tests/test_max_provider_and_menu.py +231 -0
- package/omega/Agentik_Engine/tests/test_menu_coverage.py +72 -0
- package/omega/Agentik_Engine/tests/test_pursue_cadence.py +217 -0
- package/omega/Agentik_Engine/tests/test_role_aliases_and_ssot.py +207 -0
- package/omega/Agentik_Engine/tests/test_skill_discovery_and_gate.py +337 -0
- package/omega/Agentik_Engine/tests/test_skill_power.py +259 -0
- package/omega/Agentik_Engine/tests/test_skill_routing.py +189 -0
- package/omega/Agentik_Engine/tests/test_telegram_history.py +209 -0
- package/omega/Agentik_Engine/tests/test_tmux_and_aisb_chat.py +223 -0
- package/omega/Agentik_Engine/tests/test_v06_features.py +370 -0
- package/omega/Agentik_Engine/tests/test_vault.py +173 -0
- package/omega/Agentik_Engine/tests/test_webhooks_and_readiness.py +277 -0
- package/omega/Agentik_Engine/tests/test_worker_and_cleanup.py +541 -0
- package/omega/Agentik_Extra/etc/secrets/.vault-key +3 -0
- package/omega/Agentik_Extra/etc/secrets/.vault-pub +1 -0
- package/omega/Agentik_Runtime/audits.db +0 -0
- package/omega/Agentik_SSOT/VERSION +1 -1
- package/omega/Agentik_SSOT/claude-plugins/claude-plugins.yaml +100 -0
- package/omega/Agentik_SSOT/docs/LAYERS.md +90 -0
- package/omega/Agentik_SSOT/docs/USER-JOURNEY.md +283 -0
- package/omega/Agentik_SSOT/docs/quality-arsenal/ARSENAL-INTERCONNECTIONS.md +283 -0
- package/omega/Agentik_SSOT/docs/quality-arsenal/ARSENAL-ORCHESTRATION-PLAYBOOK.md +364 -0
- package/omega/Agentik_SSOT/docs/quality-arsenal/AUDIT-VERIFICATION-CONTRACT.md +272 -0
- package/omega/Agentik_SSOT/docs/quality-arsenal/QUALITY-ARSENAL-PREAMBLE.md +462 -0
- package/omega/Agentik_SSOT/marketplaces/design-discipline.yaml +86 -0
- package/omega/Agentik_SSOT/skills/a11yaudit/SKILL.md +161 -0
- package/omega/Agentik_SSOT/skills/apiaudit/SKILL.md +157 -0
- package/omega/Agentik_SSOT/skills/audit-orchestrator.md +212 -0
- package/omega/Agentik_SSOT/skills/audit-pilot.md +466 -0
- package/omega/Agentik_SSOT/skills/audit-tracker.md +147 -0
- package/omega/Agentik_SSOT/skills/automationaudit/SKILL.md +161 -0
- package/omega/Agentik_SSOT/skills/cadence/SKILL.md +76 -0
- package/omega/Agentik_SSOT/skills/codeaudit/SKILL.md +153 -0
- package/omega/Agentik_SSOT/skills/copyaudit/SKILL.md +161 -0
- package/omega/Agentik_SSOT/skills/dataaudit/SKILL.md +157 -0
- package/omega/Agentik_SSOT/skills/debugaudit/SKILL.md +161 -0
- package/omega/Agentik_SSOT/skills/dispatch/SKILL.md +79 -0
- package/omega/Agentik_SSOT/skills/dxaudit/SKILL.md +161 -0
- package/omega/Agentik_SSOT/skills/featureaudit/SKILL.md +161 -0
- package/omega/Agentik_SSOT/skills/flowaudit/SKILL.md +165 -0
- package/omega/Agentik_SSOT/skills/genesis/SKILL.md +116 -0
- package/omega/Agentik_SSOT/skills/handoff/SKILL.md +117 -0
- package/omega/Agentik_SSOT/skills/logicaudit/SKILL.md +165 -0
- package/omega/Agentik_SSOT/skills/motionaudit/SKILL.md +165 -0
- package/omega/Agentik_SSOT/skills/newcmd.md +300 -0
- package/omega/Agentik_SSOT/skills/perfaudit/SKILL.md +161 -0
- package/omega/Agentik_SSOT/skills/plan/SKILL.md +127 -0
- package/omega/Agentik_SSOT/skills/pursue/SKILL.md +68 -0
- package/omega/Agentik_SSOT/skills/quality-arsenal.md +180 -0
- package/omega/Agentik_SSOT/skills/rag-route.md +9 -0
- package/omega/Agentik_SSOT/skills/refontaudit/SKILL.md +165 -0
- package/omega/Agentik_SSOT/skills/retentionaudit/SKILL.md +165 -0
- package/omega/Agentik_SSOT/skills/secaudit/SKILL.md +157 -0
- package/omega/Agentik_SSOT/skills/seoaudit/SKILL.md +161 -0
- package/omega/Agentik_SSOT/skills/skill-auditor/SKILL.md +83 -0
- package/omega/Agentik_SSOT/skills/skill-finder/SKILL.md +116 -0
- package/omega/Agentik_SSOT/skills/uiuxaudit/SKILL.md +165 -0
- package/package.json +2 -2
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: refontaudit
|
|
3
|
+
description: Forensic redesign audit — Is there a ship-ready refonte plan — does it preserve what works and fix only what data proves broken?. Runs the gather (deterministic) + falsify (agentic) pipeline, batches fixes, dispatches capped workers, re-audits, and persists scores. Use when the user says "/refontaudit", "audit redesign", or asks to verify the redesign health of the project.
|
|
4
|
+
when_to_use: User says /refontaudit, audit redesign, check redesign, verify redesign, is redesign healthy.
|
|
5
|
+
argument-hint: "[--scope <path>] [--fix] [--max-workers N]"
|
|
6
|
+
arguments: [args]
|
|
7
|
+
allowed-tools: Bash Read Edit Grep Glob Write
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# refontaudit — forensic audit (Agentik OS Quality Arsenal)
|
|
11
|
+
|
|
12
|
+
> Is there a ship-ready refonte plan — does it preserve what works and fix only what data proves broken?
|
|
13
|
+
|
|
14
|
+
You are running the refontaudit forensic audit. Apply the **Gestalt-Popper
|
|
15
|
+
doctrine**: identify the hinge point, scrutinise it 10x, then assume
|
|
16
|
+
every name is a CLAIM and look for the divergence between the claim and
|
|
17
|
+
the reality. Bias toward FAIL. A perfect score is earned by finding zero
|
|
18
|
+
falsifiable claims, never by absence of effort.
|
|
19
|
+
|
|
20
|
+
## Run
|
|
21
|
+
|
|
22
|
+
The audit is one engine call — gather (deterministic) + falsify (agentic)
|
|
23
|
+
+ optional fix-dispatch (capped) + re-audit. Invoke the unified pipeline:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
omega audit run refontaudit $args
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Common options:
|
|
30
|
+
|
|
31
|
+
| Flag | Effect |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `--scope <path>` | scope the audit (file or directory) |
|
|
34
|
+
| `--fix` | after analysing, batch findings + dispatch up to N workers + re-audit |
|
|
35
|
+
| `--max-workers N` | cap parallel fix workers (default 3) |
|
|
36
|
+
| `--min-severity high` | only batch + fix findings at or above this severity |
|
|
37
|
+
|
|
38
|
+
Read-only by default. Add `--fix` to enable the dispatch + re-audit loop.
|
|
39
|
+
|
|
40
|
+
## Phases under investigation
|
|
41
|
+
|
|
42
|
+
The agentic pass walks each phase below and emits structured findings
|
|
43
|
+
(claim vs. reality). Every PASS must cite ≥3 concrete checks.
|
|
44
|
+
|
|
45
|
+
### 1. inventory
|
|
46
|
+
|
|
47
|
+
Crawl every route in scope, screenshot at 1440/1024/375px, map shadcn usage, extract font stack and palette; under 3 routes or no shadcn means wrong project — abort.
|
|
48
|
+
|
|
49
|
+
### 2. current-ia
|
|
50
|
+
|
|
51
|
+
Build the IA tree (sidebar -> pages -> sub-pages -> modals), classify each screen (list/detail/form/overview/settings/empty), flag orphaned screens and nav-to-nothing stubs.
|
|
52
|
+
|
|
53
|
+
### 3. current-flows
|
|
54
|
+
|
|
55
|
+
Trace the top 5 user intents from dashboard to completed action; count clicks to primary action, context switches, waiting states; mark friction (>3 clicks, modal-in-modal, full reloads).
|
|
56
|
+
|
|
57
|
+
### 4. density-hierarchy
|
|
58
|
+
|
|
59
|
+
Per top-level screen measure items-per-viewport, visual hierarchy depth, primary-action clarity (yes/no/ambiguous), whitespace ratio — density is a feature only with clear hierarchy.
|
|
60
|
+
|
|
61
|
+
### 5. data-collection
|
|
62
|
+
|
|
63
|
+
Read real data before redesigning — Linear ticket hotspots per page, console-error hotspots, analytics if configured, git-churn hotspots; the top 3 pages are the priority targets.
|
|
64
|
+
|
|
65
|
+
### 6. user-story-mining
|
|
66
|
+
|
|
67
|
+
Extract 10 user stories (as-a/I-want/so-that) with frequency and friction; prioritize by frequency x friction into P1/P2/P3; this list drives every later proposal.
|
|
68
|
+
|
|
69
|
+
### 7. keep-audit
|
|
70
|
+
|
|
71
|
+
The hinge of restraint — classify EVERY screen KEEP (works, untouchable) / IMPROVE (good bones, targeted change) / RETHINK (wrong approach) / KILL (no story, no traffic, orphan).
|
|
72
|
+
|
|
73
|
+
### 8. clarity-gate
|
|
74
|
+
|
|
75
|
+
5-second Gestalt test per screen — can the user answer 'what is this page for?' and 'what is the primary action?'; score pass/partial/fail; compute current clarity percentage.
|
|
76
|
+
|
|
77
|
+
### 9. hypothesis-falsification
|
|
78
|
+
|
|
79
|
+
Generate 3 data-grounded hypotheses for why the design fails (worst ticket-hotspot page, worst-friction P1 story, worst clarity screen); only hypotheses that survive falsification become rationale.
|
|
80
|
+
|
|
81
|
+
### 10. pattern-mapping
|
|
82
|
+
|
|
83
|
+
For each high-friction P1/P2 story match a proven pattern from real reference products (Linear/Vercel/Stripe), grounded in the user story it serves — not 'it looks nice'; flag gaps needing custom solutions.
|
|
84
|
+
|
|
85
|
+
### 11. ia-proposal
|
|
86
|
+
|
|
87
|
+
The hinge — name the 3-5 specific evolution changes resolving 80% of friction (each citing a user story + data + reference); never change the nav model unless >50% of screens are RETHINK.
|
|
88
|
+
|
|
89
|
+
### 12. workflow-redesign
|
|
90
|
+
|
|
91
|
+
For each P1 story show before/after click count and context switches with happy path plus 2 edge cases; redesign only flows touching IMPROVE/RETHINK screens, never KEEP screens.
|
|
92
|
+
|
|
93
|
+
### 13. component-composition
|
|
94
|
+
|
|
95
|
+
Map each new/improved page to a real shadcn component tree with typed composite interfaces; KEEP screens get no new components — this prevents 'while we're here' scope creep.
|
|
96
|
+
|
|
97
|
+
### 14. interaction-state-model
|
|
98
|
+
|
|
99
|
+
Define keyboard grammar, hover/focus rules, empty/loading/error patterns, and the state architecture (URL vs server vs UI vs selection) so shared links and the back button restore exact state.
|
|
100
|
+
|
|
101
|
+
### 15. hinge-stress-test
|
|
102
|
+
|
|
103
|
+
Stress the top 3 proposed changes against 10 scenarios — new user/0 data, power user/10k items keyboard-only, mobile 375px, dark mode, long names, RTL, offline, interruption, screen reader, 1000-item lists.
|
|
104
|
+
|
|
105
|
+
## Falsification rules
|
|
106
|
+
|
|
107
|
+
A refonte without user stories is decoration; without data is guessing; without a Keep Audit is vandalism. FALSIFY every proposal — it must trace to a P1/P2 user story AND a measured hotspot, or its confidence collapses. Evolution beats revolution: a senior never reaches for revolution first. Categorise gaps as KEEP-TOUCHED (a working screen was redesigned — automatic fail), STORYLESS-PROPOSAL (change serving no user story), or HINGE-UNPROVEN (the 3-5 changes failed 2+ of the 10 scenarios). Every proposal carries an honest confidence score — nothing is 100%, senior humility. Bias toward FAIL.
|
|
108
|
+
|
|
109
|
+
## After the run
|
|
110
|
+
|
|
111
|
+
The pipeline writes one structured verdict to:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Agentik_Runtime/audits.db (history — `omega audit history refontaudit`)
|
|
115
|
+
Agentik_Runtime/sessions/${CLAUDE_SESSION_ID}/.done.json (this turn)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The `.done.json` schema:
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"status": "done_clean" | "pending" | "failed",
|
|
123
|
+
"summary": "<one-paragraph verdict>",
|
|
124
|
+
"artifacts": {
|
|
125
|
+
"audit": "refontaudit",
|
|
126
|
+
"score": 0-100,
|
|
127
|
+
"verified": bool,
|
|
128
|
+
"findings": [...],
|
|
129
|
+
"fix_plan": [...],
|
|
130
|
+
"dispatches": [...],
|
|
131
|
+
"reaudit_score": 0-100 // only when --fix was used
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Hard rules (don't break these)
|
|
137
|
+
|
|
138
|
+
1. **No fake "done".** First Law: only runtime tells the truth. If the
|
|
139
|
+
gather phase fails or the agentic verdict scores below the threshold,
|
|
140
|
+
you have NOT verified — set status to `pending` or `failed`.
|
|
141
|
+
2. **Cap parallelism.** ≤ 3 fix workers at a time. The
|
|
142
|
+
batcher enforces this; do not call out to other dispatch mechanisms.
|
|
143
|
+
3. **No worker per finding.** Findings are clustered by file footprint and
|
|
144
|
+
severity. One worker handles one disjoint batch.
|
|
145
|
+
4. **Re-audit confirms.** After fixes land, the pipeline re-runs the same
|
|
146
|
+
gather + agentic phases. If the score did not improve, escalate honestly.
|
|
147
|
+
5. **History is the trend.** `omega audit history refontaudit` shows whether the
|
|
148
|
+
codebase is improving over time on this dimension. Use it to decide
|
|
149
|
+
whether to push for `--fix` again.
|
|
150
|
+
|
|
151
|
+
## Why this audit exists
|
|
152
|
+
|
|
153
|
+
The 18 forensic audits are the OmegaOS verification layer. Claude's
|
|
154
|
+
"I'm done" claims used to be unverified. With these audits running as
|
|
155
|
+
the gate, completion is **derived from observable facts**, not declared
|
|
156
|
+
by the worker. Run this audit any time someone (human or agent) claims
|
|
157
|
+
the redesign dimension is healthy. Insist on the score before you
|
|
158
|
+
accept.
|
|
159
|
+
|
|
160
|
+
## Reference
|
|
161
|
+
|
|
162
|
+
Audit definition: `Agentik_SSOT/audits/refontaudit.yaml`
|
|
163
|
+
Engine pipeline: `omega_engine.audits.pipeline.AuditPipeline`
|
|
164
|
+
Batcher: `omega_engine.audits.batcher.batch_findings`
|
|
165
|
+
History: `omega_engine.audits.history`
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: retentionaudit
|
|
3
|
+
description: Forensic retention audit — What would the CPO of a $1B SaaS find that we MISSED to make users stay 3x longer?. Runs the gather (deterministic) + falsify (agentic) pipeline, batches fixes, dispatches capped workers, re-audits, and persists scores. Use when the user says "/retentionaudit", "audit retention", or asks to verify the retention health of the project.
|
|
4
|
+
when_to_use: User says /retentionaudit, audit retention, check retention, verify retention, is retention healthy.
|
|
5
|
+
argument-hint: "[--scope <path>] [--fix] [--max-workers N]"
|
|
6
|
+
arguments: [args]
|
|
7
|
+
allowed-tools: Bash Read Edit Grep Glob Write
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# retentionaudit — forensic audit (Agentik OS Quality Arsenal)
|
|
11
|
+
|
|
12
|
+
> What would the CPO of a $1B SaaS find that we MISSED to make users stay 3x longer?
|
|
13
|
+
|
|
14
|
+
You are running the retentionaudit forensic audit. Apply the **Gestalt-Popper
|
|
15
|
+
doctrine**: identify the hinge point, scrutinise it 10x, then assume
|
|
16
|
+
every name is a CLAIM and look for the divergence between the claim and
|
|
17
|
+
the reality. Bias toward FAIL. A perfect score is earned by finding zero
|
|
18
|
+
falsifiable claims, never by absence of effort.
|
|
19
|
+
|
|
20
|
+
## Run
|
|
21
|
+
|
|
22
|
+
The audit is one engine call — gather (deterministic) + falsify (agentic)
|
|
23
|
+
+ optional fix-dispatch (capped) + re-audit. Invoke the unified pipeline:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
omega audit run retentionaudit $args
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Common options:
|
|
30
|
+
|
|
31
|
+
| Flag | Effect |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `--scope <path>` | scope the audit (file or directory) |
|
|
34
|
+
| `--fix` | after analysing, batch findings + dispatch up to N workers + re-audit |
|
|
35
|
+
| `--max-workers N` | cap parallel fix workers (default 3) |
|
|
36
|
+
| `--min-severity high` | only batch + fix findings at or above this severity |
|
|
37
|
+
|
|
38
|
+
Read-only by default. Add `--fix` to enable the dispatch + re-audit loop.
|
|
39
|
+
|
|
40
|
+
## Phases under investigation
|
|
41
|
+
|
|
42
|
+
The agentic pass walks each phase below and emits structured findings
|
|
43
|
+
(claim vs. reality). Every PASS must cite ≥3 concrete checks.
|
|
44
|
+
|
|
45
|
+
### 1. hinge-capability
|
|
46
|
+
|
|
47
|
+
THE HINGE — identify the ONE experience that must be world-class for users to stay; compare STATED hinge (copy) vs OBSERVED hinge (where code/commits invest); a divergence is the single most damaging retention bug.
|
|
48
|
+
|
|
49
|
+
### 2. user-journey
|
|
50
|
+
|
|
51
|
+
Trace every screen from sign-up to power-user; map transitions, entry and exit conditions; this journey feeds the drop-off forensics.
|
|
52
|
+
|
|
53
|
+
### 3. drop-off-forensics
|
|
54
|
+
|
|
55
|
+
Per screen identify likely churn triggers — unvalidated forms, loaders without progress, blank empty states, blocking modals, auth/pricing walls before perceived value.
|
|
56
|
+
|
|
57
|
+
### 4. aha-moment-latency
|
|
58
|
+
|
|
59
|
+
Identify the moment a new user goes 'now I get it'; how many steps from signup to aha; what blocks the users who never reach it.
|
|
60
|
+
|
|
61
|
+
### 5. hooked-loops
|
|
62
|
+
|
|
63
|
+
Eyal lens — for each retention-driving feature score the 4 elements Trigger/Action/Variable-Reward/Investment; 4/4 strong, <=2/4 no loop.
|
|
64
|
+
|
|
65
|
+
### 6. jobs-to-be-done
|
|
66
|
+
|
|
67
|
+
Christensen lens — per persona surface 3-5 jobs ('When [situation] I want to [job] so I can [outcome]'); does the product serve each job, or does the user hire a competitor/workaround?
|
|
68
|
+
|
|
69
|
+
### 7. personalization-debt
|
|
70
|
+
|
|
71
|
+
Per screen/feed/list — is order user-specific or global, are recommendations history-based, are defaults adapted (timezone, recently-used); generic feed = anyone could leave.
|
|
72
|
+
|
|
73
|
+
### 8. onboarding-completeness
|
|
74
|
+
|
|
75
|
+
The first 7 days set LTV — welcome/checklist, first-task guidance, teaching empty states, day-1/3/7 nudges, measurable activation criteria; onboarding must DELIVER value not teach the UI.
|
|
76
|
+
|
|
77
|
+
### 9. empty-states
|
|
78
|
+
|
|
79
|
+
Every component that renders with no data must teach + invite + commit (3 elements); a blank rectangle is malpractice; empty-state CTAs must reach value in one step.
|
|
80
|
+
|
|
81
|
+
### 10. power-of-moments
|
|
82
|
+
|
|
83
|
+
Heath lens — audit peaks (amplify), pits (fix/remove), transitions (mark with ceremony), plateaus (interrupt with surprise); 'fine but never memorable' products churn.
|
|
84
|
+
|
|
85
|
+
### 11. network-effects
|
|
86
|
+
|
|
87
|
+
One-click invite of a teammate/friend; does the product get MORE valuable as N users join; public shareable artifacts/embeds; compounding UGC.
|
|
88
|
+
|
|
89
|
+
### 12. monetization-hooks
|
|
90
|
+
|
|
91
|
+
Value-gate placed after aha and before commitment; upgrade trigger contextual (limit reached) not nag-banner; price anchor visible early; clear team-plan path.
|
|
92
|
+
|
|
93
|
+
### 13. reactivation-flows
|
|
94
|
+
|
|
95
|
+
Win-back for dormant users — D3/D7/D14/D30/D90 email cadence, 'what you missed' digest, value-first re-engagement (never dark-pattern FOMO).
|
|
96
|
+
|
|
97
|
+
### 14. discoverability-and-power-user
|
|
98
|
+
|
|
99
|
+
Are powerful features hidden — command-palette completeness, settings organization, changelog visibility; for the top 1% propose keyboard shortcuts, bulk ops, API/export.
|
|
100
|
+
|
|
101
|
+
### 15. prioritized-roadmap
|
|
102
|
+
|
|
103
|
+
Synthesise all proposals into a RICE-scored list, then Fogg B=MAT (M x A x T) on the top 15; priority = RICE_normalized x (1 + Fogg/27); flag high-RICE/low-Fogg ideas and anti-patterns (vanity hooks, dark patterns, shallow personalization, feature bloat).
|
|
104
|
+
|
|
105
|
+
## Falsification rules
|
|
106
|
+
|
|
107
|
+
The product implicitly claims users will stick — DISPROVE it. Find every reason a smart user would churn after week 1, month 1, month 3. Every claim and every proposed opportunity must cite at least 3 concrete checks with actual output (grep proving a drop-off friction exists, a competitor URL proving a parity gap). "Probably broken" / "competitors all" / "users likely" without evidence is an automatic FAIL of the finding. Engagement is not retention — score every proposal against month-3 retention, not DAU. This audit is READ-ONLY: it proposes and ranks, it never codes — implementation is a separate authorized mission.
|
|
108
|
+
|
|
109
|
+
## After the run
|
|
110
|
+
|
|
111
|
+
The pipeline writes one structured verdict to:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Agentik_Runtime/audits.db (history — `omega audit history retentionaudit`)
|
|
115
|
+
Agentik_Runtime/sessions/${CLAUDE_SESSION_ID}/.done.json (this turn)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The `.done.json` schema:
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"status": "done_clean" | "pending" | "failed",
|
|
123
|
+
"summary": "<one-paragraph verdict>",
|
|
124
|
+
"artifacts": {
|
|
125
|
+
"audit": "retentionaudit",
|
|
126
|
+
"score": 0-100,
|
|
127
|
+
"verified": bool,
|
|
128
|
+
"findings": [...],
|
|
129
|
+
"fix_plan": [...],
|
|
130
|
+
"dispatches": [...],
|
|
131
|
+
"reaudit_score": 0-100 // only when --fix was used
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Hard rules (don't break these)
|
|
137
|
+
|
|
138
|
+
1. **No fake "done".** First Law: only runtime tells the truth. If the
|
|
139
|
+
gather phase fails or the agentic verdict scores below the threshold,
|
|
140
|
+
you have NOT verified — set status to `pending` or `failed`.
|
|
141
|
+
2. **Cap parallelism.** ≤ 3 fix workers at a time. The
|
|
142
|
+
batcher enforces this; do not call out to other dispatch mechanisms.
|
|
143
|
+
3. **No worker per finding.** Findings are clustered by file footprint and
|
|
144
|
+
severity. One worker handles one disjoint batch.
|
|
145
|
+
4. **Re-audit confirms.** After fixes land, the pipeline re-runs the same
|
|
146
|
+
gather + agentic phases. If the score did not improve, escalate honestly.
|
|
147
|
+
5. **History is the trend.** `omega audit history retentionaudit` shows whether the
|
|
148
|
+
codebase is improving over time on this dimension. Use it to decide
|
|
149
|
+
whether to push for `--fix` again.
|
|
150
|
+
|
|
151
|
+
## Why this audit exists
|
|
152
|
+
|
|
153
|
+
The 18 forensic audits are the OmegaOS verification layer. Claude's
|
|
154
|
+
"I'm done" claims used to be unverified. With these audits running as
|
|
155
|
+
the gate, completion is **derived from observable facts**, not declared
|
|
156
|
+
by the worker. Run this audit any time someone (human or agent) claims
|
|
157
|
+
the retention dimension is healthy. Insist on the score before you
|
|
158
|
+
accept.
|
|
159
|
+
|
|
160
|
+
## Reference
|
|
161
|
+
|
|
162
|
+
Audit definition: `Agentik_SSOT/audits/retentionaudit.yaml`
|
|
163
|
+
Engine pipeline: `omega_engine.audits.pipeline.AuditPipeline`
|
|
164
|
+
Batcher: `omega_engine.audits.batcher.batch_findings`
|
|
165
|
+
History: `omega_engine.audits.history`
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: secaudit
|
|
3
|
+
description: Forensic security audit — Can an attacker make this system work AGAINST its users?. Runs the gather (deterministic) + falsify (agentic) pipeline, batches fixes, dispatches capped workers, re-audits, and persists scores. Use when the user says "/secaudit", "audit security", or asks to verify the security health of the project.
|
|
4
|
+
when_to_use: User says /secaudit, audit security, check security, verify security, is security healthy.
|
|
5
|
+
argument-hint: "[--scope <path>] [--fix] [--max-workers N]"
|
|
6
|
+
arguments: [args]
|
|
7
|
+
allowed-tools: Bash Read Edit Grep Glob Write
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# secaudit — forensic audit (Agentik OS Quality Arsenal)
|
|
11
|
+
|
|
12
|
+
> Can an attacker make this system work AGAINST its users?
|
|
13
|
+
|
|
14
|
+
You are running the secaudit forensic audit. Apply the **Gestalt-Popper
|
|
15
|
+
doctrine**: identify the hinge point, scrutinise it 10x, then assume
|
|
16
|
+
every name is a CLAIM and look for the divergence between the claim and
|
|
17
|
+
the reality. Bias toward FAIL. A perfect score is earned by finding zero
|
|
18
|
+
falsifiable claims, never by absence of effort.
|
|
19
|
+
|
|
20
|
+
## Run
|
|
21
|
+
|
|
22
|
+
The audit is one engine call — gather (deterministic) + falsify (agentic)
|
|
23
|
+
+ optional fix-dispatch (capped) + re-audit. Invoke the unified pipeline:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
omega audit run secaudit $args
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Common options:
|
|
30
|
+
|
|
31
|
+
| Flag | Effect |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `--scope <path>` | scope the audit (file or directory) |
|
|
34
|
+
| `--fix` | after analysing, batch findings + dispatch up to N workers + re-audit |
|
|
35
|
+
| `--max-workers N` | cap parallel fix workers (default 3) |
|
|
36
|
+
| `--min-severity high` | only batch + fix findings at or above this severity |
|
|
37
|
+
|
|
38
|
+
Read-only by default. Add `--fix` to enable the dispatch + re-audit loop.
|
|
39
|
+
|
|
40
|
+
## Phases under investigation
|
|
41
|
+
|
|
42
|
+
The agentic pass walks each phase below and emits structured findings
|
|
43
|
+
(claim vs. reality). Every PASS must cite ≥3 concrete checks.
|
|
44
|
+
|
|
45
|
+
### 1. hinge-auth-boundary
|
|
46
|
+
|
|
47
|
+
Identify THE auth/authz boundary gating every protected resource; prove it cannot be bypassed by direct URL, HTTP method switch, header injection (X-Forwarded-For, X-Original-URL), path normalisation or case variation.
|
|
48
|
+
|
|
49
|
+
### 2. injection
|
|
50
|
+
|
|
51
|
+
Trace every user input to a SQL/NoSQL query, shell exec, template, LDAP or eval sink — find string-concatenated queries, missing parameterisation, unvalidated $ne/$gt operators, command injection via child_process.
|
|
52
|
+
|
|
53
|
+
### 3. xss-output-encoding
|
|
54
|
+
|
|
55
|
+
Every input reflected or stored that reaches HTML/JS/URL/CSS output — find unescaped sinks: innerHTML, dangerouslySetInnerHTML, document.write, v-html; verify context-correct encoding and CSP without unsafe-inline/unsafe-eval.
|
|
56
|
+
|
|
57
|
+
### 4. broken-access-control
|
|
58
|
+
|
|
59
|
+
IDOR — can user A reach user B's resource by changing an ID? Vertical escalation — can a regular user hit admin routes or self-promote via isAdmin/role params? Sequential IDs, mass assignment, missing per-mutation authz checks.
|
|
60
|
+
|
|
61
|
+
### 5. secrets-exposure
|
|
62
|
+
|
|
63
|
+
Active secrets in repo, git history, CI config, client bundles or NEXT_PUBLIC_ vars; .env actually gitignored; high-entropy strings and known key prefixes (sk_live_, AKIA, AIza, ghp_); measure blast radius of each leaked secret.
|
|
64
|
+
|
|
65
|
+
### 6. authn-session-jwt
|
|
66
|
+
|
|
67
|
+
Password hashing (bcrypt/argon2 cost), reset-token entropy and single-use, account enumeration, MFA bypass; JWT alg:none accepted, alg confusion RS256->HS256, weak secret, missing exp/iss/aud validation, tokens in localStorage/URL.
|
|
68
|
+
|
|
69
|
+
### 7. session-cookies-csrf
|
|
70
|
+
|
|
71
|
+
Session cookies HttpOnly+Secure+SameSite; session rotation on login/privilege change, server-side invalidation on logout; CSRF protection (synchroniser token or SameSite) on every state-changing request.
|
|
72
|
+
|
|
73
|
+
### 8. ssrf-open-redirect
|
|
74
|
+
|
|
75
|
+
User-controlled URLs reaching server-side fetches — can they hit 127.0.0.1, cloud metadata 169.254.169.254, internal services? Redirect params (next, returnUrl, redirect_uri) — protocol-relative // and @-host bypasses enabling phishing/token theft.
|
|
76
|
+
|
|
77
|
+
### 9. cors-headers
|
|
78
|
+
|
|
79
|
+
Access-Control-Allow-Origin not wildcard (especially with credentials) and not blindly reflecting Origin; security headers present — HSTS, CSP, X-Frame-Options/frame-ancestors, X-Content-Type-Options nosniff, Referrer-Policy, Permissions-Policy.
|
|
80
|
+
|
|
81
|
+
### 10. input-validation-uploads
|
|
82
|
+
|
|
83
|
+
Server-side type/length/range/format validation on every endpoint param (schema like Zod/Convex validators); file uploads validate magic bytes not just extension/MIME, store outside web root, block SVG-with-script and path traversal.
|
|
84
|
+
|
|
85
|
+
### 11. rate-limit-bruteforce
|
|
86
|
+
|
|
87
|
+
Login, registration, password-reset and MFA-code endpoints rate-limited with account lockout; limits not bypassable via X-Forwarded-For rotation or endpoint case/method variation; ReDoS and unbounded pagination/batch as DoS vectors.
|
|
88
|
+
|
|
89
|
+
### 12. dependency-cve
|
|
90
|
+
|
|
91
|
+
Critical/high CVEs in dependencies from npm/pip audit — verify the vulnerable code path is actually reachable; lockfile committed with integrity hashes; postinstall scripts, typosquats, missing SRI on CDN scripts.
|
|
92
|
+
|
|
93
|
+
### 13. insecure-design-logging
|
|
94
|
+
|
|
95
|
+
Business-logic flaws (negative price, integer overflow, payment race conditions); insecure deserialization; auth/access failures logged without leaking PII or secrets; stack traces and DB errors not exposed to clients.
|
|
96
|
+
|
|
97
|
+
## Falsification rules
|
|
98
|
+
|
|
99
|
+
Do not check that a defense EXISTS — prove it can be BYPASSED. Every PASS must cite >=3 concrete commands run (curl with the attack payload, grep for the sink, the scanner finding) with verbatim output. Categorise each finding as CLAIM-vs-REALITY, CLIENT-vs-SERVER, AUTH-vs-AUTHZ, CONFIG-vs-RUNTIME or FRAMEWORK-vs-APPLICATION. A 401/403 from a probe is evidence of a defense, not a failure to investigate. Bias hard toward FAIL — the attacker needs only one path.
|
|
100
|
+
|
|
101
|
+
## After the run
|
|
102
|
+
|
|
103
|
+
The pipeline writes one structured verdict to:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Agentik_Runtime/audits.db (history — `omega audit history secaudit`)
|
|
107
|
+
Agentik_Runtime/sessions/${CLAUDE_SESSION_ID}/.done.json (this turn)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The `.done.json` schema:
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"status": "done_clean" | "pending" | "failed",
|
|
115
|
+
"summary": "<one-paragraph verdict>",
|
|
116
|
+
"artifacts": {
|
|
117
|
+
"audit": "secaudit",
|
|
118
|
+
"score": 0-100,
|
|
119
|
+
"verified": bool,
|
|
120
|
+
"findings": [...],
|
|
121
|
+
"fix_plan": [...],
|
|
122
|
+
"dispatches": [...],
|
|
123
|
+
"reaudit_score": 0-100 // only when --fix was used
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Hard rules (don't break these)
|
|
129
|
+
|
|
130
|
+
1. **No fake "done".** First Law: only runtime tells the truth. If the
|
|
131
|
+
gather phase fails or the agentic verdict scores below the threshold,
|
|
132
|
+
you have NOT verified — set status to `pending` or `failed`.
|
|
133
|
+
2. **Cap parallelism.** ≤ 3 fix workers at a time. The
|
|
134
|
+
batcher enforces this; do not call out to other dispatch mechanisms.
|
|
135
|
+
3. **No worker per finding.** Findings are clustered by file footprint and
|
|
136
|
+
severity. One worker handles one disjoint batch.
|
|
137
|
+
4. **Re-audit confirms.** After fixes land, the pipeline re-runs the same
|
|
138
|
+
gather + agentic phases. If the score did not improve, escalate honestly.
|
|
139
|
+
5. **History is the trend.** `omega audit history secaudit` shows whether the
|
|
140
|
+
codebase is improving over time on this dimension. Use it to decide
|
|
141
|
+
whether to push for `--fix` again.
|
|
142
|
+
|
|
143
|
+
## Why this audit exists
|
|
144
|
+
|
|
145
|
+
The 18 forensic audits are the OmegaOS verification layer. Claude's
|
|
146
|
+
"I'm done" claims used to be unverified. With these audits running as
|
|
147
|
+
the gate, completion is **derived from observable facts**, not declared
|
|
148
|
+
by the worker. Run this audit any time someone (human or agent) claims
|
|
149
|
+
the security dimension is healthy. Insist on the score before you
|
|
150
|
+
accept.
|
|
151
|
+
|
|
152
|
+
## Reference
|
|
153
|
+
|
|
154
|
+
Audit definition: `Agentik_SSOT/audits/secaudit.yaml`
|
|
155
|
+
Engine pipeline: `omega_engine.audits.pipeline.AuditPipeline`
|
|
156
|
+
Batcher: `omega_engine.audits.batcher.batch_findings`
|
|
157
|
+
History: `omega_engine.audits.history`
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seoaudit
|
|
3
|
+
description: Forensic seo audit — Is the site DISCOVERABLE — can search engines crawl, understand, and rank it?. Runs the gather (deterministic) + falsify (agentic) pipeline, batches fixes, dispatches capped workers, re-audits, and persists scores. Use when the user says "/seoaudit", "audit seo", or asks to verify the seo health of the project.
|
|
4
|
+
when_to_use: User says /seoaudit, audit seo, check seo, verify seo, is seo healthy.
|
|
5
|
+
argument-hint: "[--scope <path>] [--fix] [--max-workers N]"
|
|
6
|
+
arguments: [args]
|
|
7
|
+
allowed-tools: Bash Read Edit Grep Glob Write
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# seoaudit — forensic audit (Agentik OS Quality Arsenal)
|
|
11
|
+
|
|
12
|
+
> Is the site DISCOVERABLE — can search engines crawl, understand, and rank it?
|
|
13
|
+
|
|
14
|
+
You are running the seoaudit forensic audit. Apply the **Gestalt-Popper
|
|
15
|
+
doctrine**: identify the hinge point, scrutinise it 10x, then assume
|
|
16
|
+
every name is a CLAIM and look for the divergence between the claim and
|
|
17
|
+
the reality. Bias toward FAIL. A perfect score is earned by finding zero
|
|
18
|
+
falsifiable claims, never by absence of effort.
|
|
19
|
+
|
|
20
|
+
## Run
|
|
21
|
+
|
|
22
|
+
The audit is one engine call — gather (deterministic) + falsify (agentic)
|
|
23
|
+
+ optional fix-dispatch (capped) + re-audit. Invoke the unified pipeline:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
omega audit run seoaudit $args
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Common options:
|
|
30
|
+
|
|
31
|
+
| Flag | Effect |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `--scope <path>` | scope the audit (file or directory) |
|
|
34
|
+
| `--fix` | after analysing, batch findings + dispatch up to N workers + re-audit |
|
|
35
|
+
| `--max-workers N` | cap parallel fix workers (default 3) |
|
|
36
|
+
| `--min-severity high` | only batch + fix findings at or above this severity |
|
|
37
|
+
|
|
38
|
+
Read-only by default. Add `--fix` to enable the dispatch + re-audit loop.
|
|
39
|
+
|
|
40
|
+
## Phases under investigation
|
|
41
|
+
|
|
42
|
+
The agentic pass walks each phase below and emits structured findings
|
|
43
|
+
(claim vs. reality). Every PASS must cite ≥3 concrete checks.
|
|
44
|
+
|
|
45
|
+
### 1. crawlability
|
|
46
|
+
|
|
47
|
+
robots.txt valid with no critical pages blocked; meta robots not accidentally noindex; X-Robots-Tag headers; crawl budget not wasted on filter/search URLs.
|
|
48
|
+
|
|
49
|
+
### 2. indexability
|
|
50
|
+
|
|
51
|
+
THE HINGE — XML sitemap contains only indexable canonical pages; no orphan pages; no index bloat; duplicate content (HTTP/HTTPS, www, trailing slash) collapsed.
|
|
52
|
+
|
|
53
|
+
### 3. canonical-tags
|
|
54
|
+
|
|
55
|
+
Every page has a self-referencing canonical; no canonical to non-existent URLs; no chain canonicals A->B->C; consistent across HTTP/HTTPS and www/non-www.
|
|
56
|
+
|
|
57
|
+
### 4. core-web-vitals
|
|
58
|
+
|
|
59
|
+
THE HINGE — LCP <2.5s, INP <200ms, CLS <0.1 on every template; field (CrUX) data not worse than lab; tested on throttled mobile.
|
|
60
|
+
|
|
61
|
+
### 5. schema-markup
|
|
62
|
+
|
|
63
|
+
Correct Schema.org JSON-LD per page type (Organization/WebSite homepage, Article blog, Product, FAQPage); validates with no missing required properties; matches visible content.
|
|
64
|
+
|
|
65
|
+
### 6. meta-tags
|
|
66
|
+
|
|
67
|
+
Unique title 50-60 chars with keyword near start; unique meta description 150-160 chars; complete Open Graph (og:image 1200x630) and Twitter Card tags.
|
|
68
|
+
|
|
69
|
+
### 7. heading-hierarchy
|
|
70
|
+
|
|
71
|
+
Exactly one H1 per page containing the primary keyword; H2s for sections; no skipped heading levels; headings reflect content hierarchy not styling.
|
|
72
|
+
|
|
73
|
+
### 8. js-rendering
|
|
74
|
+
|
|
75
|
+
View-source vs rendered DOM contain the same content; critical content and meta tags in initial HTML; internal links as <a href> not onClick routers; SSR/SSG for key pages.
|
|
76
|
+
|
|
77
|
+
### 9. mobile-friendliness
|
|
78
|
+
|
|
79
|
+
Responsive design with viewport meta; no horizontal scroll; text >=16px; touch targets >=48px; no mobile/desktop content divergence (mobile-first indexing).
|
|
80
|
+
|
|
81
|
+
### 10. image-and-url-seo
|
|
82
|
+
|
|
83
|
+
Alt text on every informative image; descriptive file names; WebP/AVIF; lazy-load below fold; short lowercase hyphenated keyword-containing URLs; no session IDs.
|
|
84
|
+
|
|
85
|
+
### 11. content-quality-eeat
|
|
86
|
+
|
|
87
|
+
Experience/Expertise/Authoritativeness/Trust — author credentials visible, topical depth, external citations, HTTPS, privacy policy, unique value over SERP rivals.
|
|
88
|
+
|
|
89
|
+
### 12. internal-external-links
|
|
90
|
+
|
|
91
|
+
Every page within 3 clicks of homepage; descriptive anchor text; breadcrumbs; no broken internal/external links; nofollow on sponsored/untrusted links.
|
|
92
|
+
|
|
93
|
+
### 13. redirects-and-errors
|
|
94
|
+
|
|
95
|
+
No redirect chains or loops; 301 for permanent and 302 only for temporary; custom 404 returning real 404 status (not soft 404); 410 for removed content.
|
|
96
|
+
|
|
97
|
+
### 14. geo-aeo
|
|
98
|
+
|
|
99
|
+
AI-search readiness — question-answer format, machine-parseable lists/tables, cited factual claims, llms.txt, entity optimization, passage-level citability.
|
|
100
|
+
|
|
101
|
+
## Falsification rules
|
|
102
|
+
|
|
103
|
+
A green Lighthouse SEO score lies — it passes 14 basic checks and says nothing about indexation, content authority, or competitive position. Every PASS must cite at least 3 concrete checks with actual output (fetch as Googlebot, view-source vs rendered DOM, exact-phrase SERP search). Categorise findings as LAB-vs-FIELD, DESKTOP-vs-MOBILE, CACHED-vs-RENDERED, TODAY-vs-TREND, or TECHNICAL-vs-CONTENT. If Googlebot cannot reach or render a page, it does not exist. Bias toward FAIL.
|
|
104
|
+
|
|
105
|
+
## After the run
|
|
106
|
+
|
|
107
|
+
The pipeline writes one structured verdict to:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Agentik_Runtime/audits.db (history — `omega audit history seoaudit`)
|
|
111
|
+
Agentik_Runtime/sessions/${CLAUDE_SESSION_ID}/.done.json (this turn)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
The `.done.json` schema:
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"status": "done_clean" | "pending" | "failed",
|
|
119
|
+
"summary": "<one-paragraph verdict>",
|
|
120
|
+
"artifacts": {
|
|
121
|
+
"audit": "seoaudit",
|
|
122
|
+
"score": 0-100,
|
|
123
|
+
"verified": bool,
|
|
124
|
+
"findings": [...],
|
|
125
|
+
"fix_plan": [...],
|
|
126
|
+
"dispatches": [...],
|
|
127
|
+
"reaudit_score": 0-100 // only when --fix was used
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Hard rules (don't break these)
|
|
133
|
+
|
|
134
|
+
1. **No fake "done".** First Law: only runtime tells the truth. If the
|
|
135
|
+
gather phase fails or the agentic verdict scores below the threshold,
|
|
136
|
+
you have NOT verified — set status to `pending` or `failed`.
|
|
137
|
+
2. **Cap parallelism.** ≤ 3 fix workers at a time. The
|
|
138
|
+
batcher enforces this; do not call out to other dispatch mechanisms.
|
|
139
|
+
3. **No worker per finding.** Findings are clustered by file footprint and
|
|
140
|
+
severity. One worker handles one disjoint batch.
|
|
141
|
+
4. **Re-audit confirms.** After fixes land, the pipeline re-runs the same
|
|
142
|
+
gather + agentic phases. If the score did not improve, escalate honestly.
|
|
143
|
+
5. **History is the trend.** `omega audit history seoaudit` shows whether the
|
|
144
|
+
codebase is improving over time on this dimension. Use it to decide
|
|
145
|
+
whether to push for `--fix` again.
|
|
146
|
+
|
|
147
|
+
## Why this audit exists
|
|
148
|
+
|
|
149
|
+
The 18 forensic audits are the OmegaOS verification layer. Claude's
|
|
150
|
+
"I'm done" claims used to be unverified. With these audits running as
|
|
151
|
+
the gate, completion is **derived from observable facts**, not declared
|
|
152
|
+
by the worker. Run this audit any time someone (human or agent) claims
|
|
153
|
+
the seo dimension is healthy. Insist on the score before you
|
|
154
|
+
accept.
|
|
155
|
+
|
|
156
|
+
## Reference
|
|
157
|
+
|
|
158
|
+
Audit definition: `Agentik_SSOT/audits/seoaudit.yaml`
|
|
159
|
+
Engine pipeline: `omega_engine.audits.pipeline.AuditPipeline`
|
|
160
|
+
Batcher: `omega_engine.audits.batcher.batch_findings`
|
|
161
|
+
History: `omega_engine.audits.history`
|