2 Commits

Author SHA1 Message Date
hungtran24
5c61227e6f fix: drop temperature from AI requests and make the trial scenario editable
- gpt-6-luna on AIHub rejects temperature=0 (HTTP 400), which made every
  call without reasoning_effort fall back; no longer send temperature.
- Fixtures page edits the scenario as JSON instead of a fixed preview;
  backend validation errors are shown.
- AI profile form keeps submitted values after a trial run.
- Record the live AIHub check in the spec and README.
2026-10-09 08:32:19 +07:00
hungtran24
6577bb74be refactor: simplify scoring service, AI profile revisions and test suite
Phase 2 and 3 of the platform rework.

- Neutral request/response contract: external_id, metadata, X-AI-Key,
  run_id in the response; client-specific fields removed.
- AI profile is a revision table: saving creates an inactive revision,
  activation is separate, try-run does not store a run. One
  chat-completions gateway serves AIHub and OpenAI-compatible profiles.
- Add between and in rule operators.
- Contracts moved to contracts/lead-scoring/ with a score-response fixture.
- Admin Web updated for revisions, runs and the neutral fixture.
- Consolidate tests; remove rewrite_architect.md and the stale handoff doc;
  rewrite spec, CONTEXT and ARCHITECTURE for the current design.

Not verified: live AIHub/OpenAI behavior, Omni/EMS integration.
2026-10-09 08:23:21 +07:00