KATMA Project Creation Cycle Audit - Updated Post-Payment Run

Audit date: 2026-06-28

Target UI: https://app.katma.ru/

Report project slug: aud628report

Updated public report: https://aud628report.project.katma.ru/

This document records what actually happened in the live KATMA cabinet. It does not describe the intended design unless that behavior was observed in code, database state, logs, files, or public deployments.

Executive Result

After the Claude subscription was paid and re-tested, the core project factory worked for the successful classes:

The process is still not fully reliable:

Runtime Scope

The active cabinet is the PANEL stack under /WORK/PANEL/app.

Observed service roles:

Primary code paths:

Provider Status

Initial run before payment:

Post-payment check:

Stage Map

1. Authentication

Owner login uses session cookies, CSRF, and Telegram 2FA on a new device. /api/me returned 200 after login. All project automation reused that owner browser session.

2. Project Box Creation

API: POST /api/projects.

Observed side effects:

project_connections remained empty for these projects. The UI can suggest connections, but the cabinet did not automatically sew external connectors into the new project.

3. Intake

API:

Stages:

1. collect_prompt

2. sensemaking

3. brief

4. prose

5. final_questions

6. tech_spec

7. done

Model behavior:

Artifact trust:

4. Quality Spec and Packs

When intake completes, the API creates an approved project_quality_specs row from intake artifacts.

Observed build files include:

Common packs observed in PACKS_APPLIED.md:

5. Build

The build worker uses BullMQ with concurrency 2.

Observed build stages:

The build prompt includes the owner brief, project brain, quality spec, selected packs, active mechanics standard, generated visual assets, and visual capability instructions. The worker can request visual assets through the owner panel API for icon/logo, hero/product/background/banner images, background removal, upscale, video assembly, and 3D model generation.

6. Quality Gate

The scorecard checks multiple rubrics:

Observed successful projects reached score=100 pass=true.

Observed repair loop:

Observed non-recovered scorecard failures:

These were not promoted to prod.

7. Mirror Deploy

Mirror deploy uses:

Failed scorecard projects can still have live mirror deploy rows. Mirror health is not the same as production readiness.

8. Prod Deploy and Visibility

Prod publication uses two separate owner-dangerous operations:

Successful prod deploys set project state to published only after worker health check passes.

Post-Payment Run Matrix

ScenarioSlugIntakeBuildProd
Landing minimalaud628v2lmdone, 4 artifactsscore 100https://aud628v2lm.project.katma.ru/
Landing detailedaud628v2lddone, 4 artifactsscore 100https://aud628v2ld.project.katma.ru/
Presentation minimalaud628v2pmdone, 4 artifactsscore 100https://aud628v2pm.project.katma.ru/
Presentation detailedaud628v2pddone, 4 artifactsscore 100https://aud628v2pd.project.katma.ru/
Website minimalaud628v2smdone, 4 artifactsscore 100https://aud628v2sm.project.katma.ru/
Website detailedaud628v2sddone, 4 artifactsscore 100https://aud628v2sd.project.katma.ru/
Research minimalaud628v2rmdone, 4 artifactsscore 100https://aud628v2rm.project.katma.ru/
Research detailedaud628v2rddone, 4 artifactsscore 100https://aud628v2rd.project.katma.ru/
AI automation minimalaud628v2amdone, 4 artifactsscore 100https://aud628v2am.project.katma.ru/
AI automation detailedaud628v2adstuck at tech_spec, 3 artifactsnonenone
AI automation detailed replacementaud628v2adxdone, 4 artifactsscore 97, failednone
Business minimalaud628v2bmstuck at tech_spec, 3 artifactsnonenone
Business detailedaud628v2bdstuck at tech_spec, 3 artifactsnonenone
Business minimal replacementaud628v2bmxstuck at tech_spec, 3 artifactsnonenone
Business detailed replacementaud628v2bdxstuck at tech_spec, 3 artifactsnonenone
Business public controlaud628v2bcxdone, 4 artifactsscore 91, failednone

Public Prod Verification

All promoted prod URLs returned HTTP 200:

Failure Details

Intake tech_spec stranded state

Observed symptom:

Observed causes:

1. INV-06A-8 secret scanner rejected generated tech_spec text and the API returned HTTP 500.

2. One detailed business path overlapped with panel-api.service restart/SIGTERM.

Code-level reason:

False-positive examples from logs:

These are normal technical phrases, not real secrets, but the scanner pattern treats them as potential secrets.

API restart incident

At 2026-06-28 19:21 UTC, panel-api.service received SIGTERM and entered shutdown while intake requests were running. During the window, Caddy returned 502 for API calls while the service was unavailable. The service recovered automatically. This incident interrupted part of the V2 creation flow and is included as real runtime evidence.

Business-control contamination

aud628v2bcx was intentionally constrained to a simple public business project. It passed intake, but PACKS_APPLIED.md shows that the LLM inserted a refusal-style paragraph about business consulting into the quality contract context. The cabinet still produced a site, but the quality context was polluted by the model response.

Deploy Results

The 9 green projects were made public and deployed to prod. Database evidence:

Deploy result file:

Evidence Files

Bottom Line

The cabinet is a real autonomous project factory after the Claude subscription is active. It can produce and publicly deploy quality-gated static project outputs. The strongest observed path is: landing, presentation, site, research, and minimal AI automation.

The weak points are not cosmetic: