Generate a working web application from a plain-text description using local Ollama models
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 7 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
factory_assess
-
factory_fleet
-
factory_launch
-
factory_outputs
-
factory_run
-
factory_status
-
factory_stop
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit cd4644e · analyzer v33 · 1w ago
skills & prompt files 7
- agent-rules sandraschi-dark-app-factory-cd4644e/.cursorrules
- agent-rules sandraschi-dark-app-factory-cd4644e/.github/copilot-instructions.md
- agent-rules sandraschi-dark-app-factory-cd4644e/.windsurfrules
- agent-rules sandraschi-dark-app-factory-cd4644e/AGENTS.md
- agent-rules sandraschi-dark-app-factory-cd4644e/CLAUDE.md
- prompt-file sandraschi-dark-app-factory-cd4644e/mcpb/assets/prompts/system.md
- prompt-file sandraschi-dark-app-factory-cd4644e/mcpb/assets/prompts/user.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 176
filesystem 33
- fs sandraschi-dark-app-factory-cd4644e/blocks/email/backend/service.py :26
with open(path, encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/blocks/loader.py :8
import shutil - fs sandraschi-dark-app-factory-cd4644e/blocks/pdfgen/backend/service.py :9
from pathlib import Path - fs sandraschi-dark-app-factory-cd4644e/blocks/storage/backend/service.py :9
from pathlib import Path - fs (weak) sandraschi-dark-app-factory-cd4644e/blocks/storage/tests/test_storage.py :7
from pathlib import Path - fs sandraschi-dark-app-factory-cd4644e/blocks/webshop/backend/service.py :25
with open(_DATA_FILE, encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/factory.py :130
with open(specs_path, "r", encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/foreman.py :29
with open(path, "r", encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/judge.py :64
with open(path, encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/mcp-server/run_server.py :8
from pathlib import Path - fs sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :26
from pathlib import Path - fs sandraschi-dark-app-factory-cd4644e/mcpb/run_server.py :8
from pathlib import Path
show 21 more
- fs sandraschi-dark-app-factory-cd4644e/mcpb/src/ghost_extractor.py :73
with open(blueprint_path, "w") as f: - fs sandraschi-dark-app-factory-cd4644e/questionnaire.py :17
with open(critique_paths[0], encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/run_manifest.py :4
import shutil - fs sandraschi-dark-app-factory-cd4644e/run_server.py :7
from pathlib import Path - fs (weak) sandraschi-dark-app-factory-cd4644e/scripts/cua-smoke.py :47
with open(p) as f: - fs sandraschi-dark-app-factory-cd4644e/src/deployment/deploy_artifacts.py :173
with open(config_path, "w", encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/src/ghost_extractor.py :73
with open(blueprint_path, "w") as f: - fs sandraschi-dark-app-factory-cd4644e/src/pwa/pwa_artifacts.py :45
with open(path, "w", encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/src/specialists/council.py :524
with open(skill_path, encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/src/utils/frontend_scaffold.py :29
with open(path, "w", encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/src/utils/logger.py :81
with open(self.log_file, encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/src/utils/repair.py :116
os.remove(path) - fs sandraschi-dark-app-factory-cd4644e/src/utils/tsx_repair.py :60
with open(filepath, encoding="utf-8") as f: - fs sandraschi-dark-app-factory-cd4644e/src/verification/rodney_runner.py :29
import shutil - fs sandraschi-dark-app-factory-cd4644e/src/verification/ruffy_runner.py :67
pkg = json.loads(open(pkg_path, encoding="utf-8").read()) - fs sandraschi-dark-app-factory-cd4644e/src/verification/scenario_parser.py :21
from pathlib import Path - fs sandraschi-dark-app-factory-cd4644e/src/verification/showboat_runner.py :20
import shutil - fs (weak) sandraschi-dark-app-factory-cd4644e/tests/test_boot_path.py :69
with open(os.path.join(tmp_output_dir, "package.json"), "w") as f: - fs (weak) sandraschi-dark-app-factory-cd4644e/tests/test_run_manifest.py :72
with open(manifest_path, "w") as f: - fs sandraschi-dark-app-factory-cd4644e/web/server.py :6
from pathlib import Path - fs sandraschi-dark-app-factory-cd4644e/worker.py :42
with open(path, "r", encoding="utf-8") as f:
shell / exec 13
- shell sandraschi-dark-app-factory-cd4644e/factory.py :4
import subprocess - shell sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :21
import subprocess - shell sandraschi-dark-app-factory-cd4644e/run_manifest.py :5
import subprocess - shell (weak) sandraschi-dark-app-factory-cd4644e/scripts/cua-smoke.py :31
import subprocess - shell sandraschi-dark-app-factory-cd4644e/src/utils/git_manager.py :2
import subprocess - shell sandraschi-dark-app-factory-cd4644e/src/utils/ports.py :24
import subprocess - shell sandraschi-dark-app-factory-cd4644e/src/utils/tsx_repair.py :8
import subprocess - shell sandraschi-dark-app-factory-cd4644e/src/verification/rodney_runner.py :30
import subprocess - shell sandraschi-dark-app-factory-cd4644e/src/verification/ruffy_runner.py :11
import subprocess - shell sandraschi-dark-app-factory-cd4644e/src/verification/showboat_runner.py :21
import subprocess - shell (weak) sandraschi-dark-app-factory-cd4644e/tests/test_rodney_runner.py :8
import subprocess - shell (weak) sandraschi-dark-app-factory-cd4644e/tests/test_showboat_runner.py :8
import subprocess
show 1 more
- shell sandraschi-dark-app-factory-cd4644e/web/server.py :4
import subprocess
network 12
- net sandraschi-dark-app-factory-cd4644e/blocks/mcp_client/backend/client.py :10
import httpx - net sandraschi-dark-app-factory-cd4644e/factory.py :9
import urllib.request - net sandraschi-dark-app-factory-cd4644e/judge.py :76
import urllib.request - net sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :29
import httpx - net (weak) sandraschi-dark-app-factory-cd4644e/scripts/cua-smoke.py :34
import urllib.request - net sandraschi-dark-app-factory-cd4644e/src/llm_client.py :4
import urllib.request - net sandraschi-dark-app-factory-cd4644e/src/utils/ports.py :23
import socket - net sandraschi-dark-app-factory-cd4644e/src/verification/scenario_executor.py :245
import httpx - net (weak) sandraschi-dark-app-factory-cd4644e/tests/test_dtu.py :4
from httpx import AsyncClient, ASGITransport - net (weak) sandraschi-dark-app-factory-cd4644e/tests/utils/model_discovery.py :3
import urllib.request - net sandraschi-dark-app-factory-cd4644e/verify_docs_api.py :1
import requests - net sandraschi-dark-app-factory-cd4644e/web/server.py :491
import urllib.request
secrets 8
- secrets sandraschi-dark-app-factory-cd4644e/blocks/email/backend/routes.py :46
has_sg = bool(os.environ.get("SENDGRID_API_KEY", "")) - secrets sandraschi-dark-app-factory-cd4644e/blocks/email/backend/service.py :71
api_key = os.environ.get("SENDGRID_API_KEY", "") - secrets sandraschi-dark-app-factory-cd4644e/blocks/membership/backend/auth.py :16
_SECRET = os.environ.get("JWT_SECRET", "change-me") - secrets sandraschi-dark-app-factory-cd4644e/blocks/stripe/backend/service.py :18
_SECRET_KEY = os.environ.get("STRIPE_SECRET_KEY", "") - secrets (weak) sandraschi-dark-app-factory-cd4644e/blocks/stripe/tests/test_stripe.py :28
os.environ["STRIPE_SECRET_KEY"] = "sk_test_mock" - secrets sandraschi-dark-app-factory-cd4644e/blocks/webhooks/backend/service.py :26
secret = os.environ.get("WEBHOOK_SECRET", "") - secrets sandraschi-dark-app-factory-cd4644e/mcpb/src/llm_client.py :23
"FOREMAN_API_KEY", os.getenv("OPENAI_API_KEY", "ollama") - secrets sandraschi-dark-app-factory-cd4644e/src/llm_client.py :50
api_key = os.getenv("FOREMAN_API_KEY", os.getenv("OPENAI_API_KEY", "ollama"))
tool registrations 7
- factory_fleet sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :155
- factory_run sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :204
- factory_status sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :256
- factory_stop sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :302
- factory_launch sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :329
- factory_assess sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :392
- factory_outputs sandraschi-dark-app-factory-cd4644e/mcp-server/src/dark_app_factory_mcp/server.py :702
declared dependencies 21
- openai@>=1.52.0
- pydantic@>=2.9.0
- rich@>=13.9.0
- tenacity@>=9.0.0
- python-dotenv@>=1.0.0
- fastapi@>=0.115.0
- uvicorn@>=0.30.0
- ruff@>=0.16.0,<0.17
- pytest@>=8.0.0
- pytest-asyncio@>=0.24.0
- httpx@>=0.27.0
- playwright@>=1.40.0
show 9 more
- showboat@*
- rodney@*
- tauri-build@2
- tauri@2
- tauri-plugin-shell@2
- tauri-plugin-fs@2
- tauri-plugin-process@2
- serde@1
- serde_json@1
transport_posture 2
- binds all interfaces (0.0.0.0) sandraschi-dark-app-factory-cd4644e/dtu/main.py :589
uvicorn.run(app, host="0.0.0.0", port=DTU_PORT) - binds all interfaces (0.0.0.0) sandraschi-dark-app-factory-cd4644e/web/server.py :742
uvicorn.run(app, host="0.0.0.0", port=port)