Commit Graph
17 Commits
Author SHA1 Message Date
woogi 5c1fccfb35 Guard syncPipelineOptions when hybrid radio is removed.
Docker Release / build-and-push (push) Successful in 55s
Docker Release / release (push) Skipped
2026-08-05 16:07:34 -05:00
woogi 32544bc2af Add /models fetch timeout and health-derived default fallback for model dropdowns.
Docker Release / build-and-push (push) Successful in 57s
Docker Release / release (push) Skipped
2026-08-05 15:59:50 -05:00
woogi 4b3b62b3fa Add cache-busting meta tags and default build tag text.
Docker Release / build-and-push (push) Successful in 56s
Docker Release / release (push) Skipped
2026-08-05 15:50:35 -05:00
woogi 5305325d81 Fix model dropdown loading, cache models for 24h, and style build tag.
Docker Release / release (push) Skipped
Docker Release / build-and-push (push) Successful in 1m1s
2026-08-05 15:42:21 -05:00
woogi 6f10062b93 Agent-mode UI: remove hybrid compute option, add clickable sheet links in review queue.
Docker Release / build-and-push (push) Successful in 1m1s
Docker Release / release (push) Skipped
2026-08-05 15:28:09 -05:00
woogi 7488cf68c5 Verbose per-call LLM logging, raw request/response dumps, and end-of-log cost summary.
Docker Release / build-and-push (push) Successful in 1m13s
Docker Release / release (push) Skipped
- [LLM] line per call: stage, model, prompt size, output size, cost, parsed item counts
- LLM_RAW_DUMP: full prompt/response JSON per call under outputs/<job>/llm_raw/
- Cost block at tail of job.log (per-stage, per-model, cached vs live)
- Agent mode: reset llm cost counters per job; review finalization now teed into job.log + dumps
2026-08-05 15:17:17 -05:00
woogi f7e1b6bb7c Merge main: dual model dropdowns + richer job logs, adapted for agent-mode.
Docker Release / build-and-push (push) Successful in 1m0s
Docker Release / release (push) Skipped
- llm.py: set_model_overrides(vision, text) replaces the single job override;
  UI picks still beat per-call agent model args, but never name the hybrid
  local model (avoids main's hybrid footgun); local->cloud fallback uses the
  text pick.
- jobs.py: timestamped line-split tee (job_log.py), in-memory log + log_tail
  polls, full log on terminal states (done/error/needs_review/finalization_error),
  log-only disk recovery, error email links to the run log, and failed runs now
  append the full traceback to job.log. Keeps pipeline_mode, job.json, and the
  review gate.
- models.py: vision/text split via architecture modalities, pricing kept;
  /models returns {vision, text, defaults}; /check takes vision_model/text_model
  (replacing model); /health adds text_model. models_catalog.py dropped.
- UI: two priced dropdowns (OpenRouter compute only) + live run-log panel.
- Tests updated for dual overrides and the /models shape; new coverage for
  traceback capture and local-model immunity.
2026-08-02 09:55:09 -05:00
woogiandCursor bf508bfdf6 Expand session notes with API, job log, and model selection details.
Docker Release / build-and-push (push) Successful in 57s
Docker Release / release (push) Skipped
Keep NOTES.md current for new sessions after the job-log and dual-model UI work.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 20:21:35 -05:00
woogiandCursor a6b0c8fdfa Add per-job run logs and separate vision/text model selection.
Docker Release / build-and-push (push) Successful in 1m27s
Docker Release / release (push) Skipped
Capture pipeline stdout into job.log + API/UI so failed runs can be reviewed, and let users pick OpenRouter vision vs text models independently.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 14:56:48 -05:00
John Wilganowski afa1089311 Add job run logs, OpenRouter model picker, and discipline grouping.
Docker Release / build-and-push (push) Successful in 55s
Docker Release / release (push) Skipped
- Job logs: each job's stdout/stderr is teed into outputs/<id>/job.log
  (survives restarts) and served at GET /jobs/{id}/log as text/plain, so
  full run logs can be shared for debugging and refinement.
- Model picker: GET /models proxies OpenRouter's public model list with
  per-1M-token pricing (1h cache, 502 on failure); the UI shows a model
  dropdown with costs when OpenRouter compute is selected, and the pick
  overrides vision+text models for that job (Classic and Agent modes).
- Conflicts in the report view are grouped by discipline pair
  (collapsible sections, severity-ordered within groups) instead of one
  flat severity-only list.
2026-07-28 21:23:42 +00:00
John Wilganowski 4ecc7c5cef Point email links at conchecker.scoutitsystems.com and show build SHA in header.
Docker Release / build-and-push (push) Successful in 58s
Docker Release / release (push) Skipped
APP_BASE_URL default (config, .env.example, both compose files) is now
https://conchecker.scoutitsystems.com with no port, so review-required
and final-report email links use the public site. CI bakes the short
commit SHA into the image as APP_BUILD via a Docker build-arg; /health
returns version+build and the site header shows the build so it's easy
to confirm which image is deployed. Local runs default to 'dev'.
2026-07-28 20:34:33 +00:00
John Wilganowski 1c1d2ff21b Add required human review gate to the Agent pipeline.
Docker Release / build-and-push (push) Successful in 1m10s
Docker Release / release (push) Skipped
Agent web jobs now stop after Brain consolidation and enter needs_review
with a persisted review queue (blocking: high-severity, low-confidence,
sensitive-category findings; audit sample of clean clusters). Humans
decide confirm/reject/unsure/needs_clarification via new review API and
frontend queue; a finalizer applies decisions (rejections suppressed with
reason codes), performs bounded targeted reruns for clarifications,
drafts RFIs only for kept issues, and only then marks the job done and
sends the final email. Two-phase email (review-required, then final
report), per-decision feedback labels with redacted aggregate metrics,
restart recovery from job artifacts, and CLI --no-review bypass.
Classic pipeline unchanged. 65 non-LLM tests.
2026-07-28 19:23:57 +00:00
woogiandCursor ac328d34fd Build agent-mode branch image in CI under a branch tag.
Docker Release / build-and-push (push) Successful in 3m38s
Docker Release / release (push) Has been skipped
Publish agent-mode pushes as :agent-mode (and :sha-<commit>) so the experimental fork is available from the registry without overwriting the Classic :latest image.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:42:13 +00:00
woogiandCursor 82a48d99cf Add scoped Agent-mode pipeline as experimental Classic fork.
Wire specialist waves, Brain consolidation, and Classic-compatible reports so Agent mode can run end-to-end via OpenRouter without changing the default Classic path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:31:13 +00:00
woogiandCursor e30522af9a Fix CI workflow to use github context variables.
Docker Release / build-and-push (push) Successful in 1m17s
Docker Release / release (push) Has been skipped
The ChristopherHX runner only supports github.* expressions, not gitea.*.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 01:22:26 +00:00
woogiandCursor f85b2a1276 Add Docker packaging and Gitea Actions CI/CD pipeline.
Docker Release / build-and-push (push) Failing after 11s
Docker Release / release (push) Has been skipped
Containerize the app for local and production deploys, and publish images
to the Gitea container registry on main pushes and version tags.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 01:09:52 +00:00
woogiandClaude Opus 4.8 1d248a8808 Initial commit: Conflict Checker
Cross-discipline design-contradiction checker for construction drawing
sets. Standalone tool broken out from Iron_Bid; a pipeline stage may
later fold back into Iron_Bid.

Pipeline: PDF->images -> per-sheet assertion extraction -> deterministic
clustering by location -> per-cluster reasoning -> report.
Includes CLI (cli/run_check.py) and web UI (backend/main.py).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 00:22:02 +00:00