Commit Graph

  • 07ea7ca1d6 fix(sp38): restore per-kind control_number in find_ack_orphans + review cleanups Nora 2026-07-07 13:11:29 -06:00
  • 76923a79f5 docs(sp38): RUNBOOK entry for orphan-ack housekeeping Nora 2026-07-07 12:53:51 -06:00
  • 9ef749c783 feat(sp38): 'cyclone ack-orphans {status,reconcile}' CLI subcommands Nora 2026-07-07 12:53:51 -06:00
  • ad14b56732 feat(sp38): CycloneStore.find_ack_orphan_st02_summary + reconcile_orphan_st02s Nora 2026-07-07 12:53:40 -06:00
  • 8890627014 docs(plan): SP38 orphan-ack housekeeping plan Nora 2026-07-07 12:38:07 -06:00
  • d776a4a7ec docs(spec): design for SP38 orphan-ack housekeeping Nora 2026-07-07 12:37:24 -06:00
  • 893a6629a8 fix(sp37-followup): close auth-coverage gaps and drop dead matrix entries Nora 2026-07-07 12:31:11 -06:00
  • f62e1a7881 fix(sp37-followup): add SftpClient.stat() method Nora 2026-07-07 12:24:35 -06:00
  • dc5bff617d fix(sp37-followup): load BACKFILL_SQL from migration file (no drift) Nora 2026-07-07 12:21:27 -06:00
  • abaf23c122 fix(sp37-followup): SubmitOutcome.UNEXPECTED_ERROR for non-typed failures Nora 2026-07-07 12:19:42 -06:00
  • ce0df8ac24 fix(sp37-followup): use CliRunner in test_submit_batch_cli_help Nora 2026-07-07 12:17:50 -06:00
  • cc02cb99c5 fix(sp37-followup): remove dead /api/resubmit permissions entry Nora 2026-07-07 12:17:14 -06:00
  • aff3a13016 merge: SP37 canonical submit-batch flow into main Nora 2026-07-07 12:02:58 -06:00
  • 7cb0278be0 docs(sp37): document canonical submit-batch flow Nora 2026-07-07 12:02:33 -06:00
  • 4c85166734 fix(sp37): align submission router with package conventions Nora 2026-07-07 11:42:07 -06:00
  • f1dc06ec3b feat(sp37): POST /api/submit-batch endpoint Cyclone SP37 2026-07-07 11:36:47 -06:00
  • dc990cfde3 feat(sp37): cyclone submit-batch CLI Nora 2026-07-07 11:10:10 -06:00
  • ec065a9082 fix(sp37): submit_file default factory uses paramiko directly Nora 2026-07-07 11:06:08 -06:00
  • 5d4e06b863 feat(sp37): cyclone.submission.submit_file helper Nora 2026-07-07 10:50:48 -06:00
  • 298200fe71 fix(sp37): sync head-assertion + update batch_envelope_index docstrings Nora 2026-07-07 10:34:46 -06:00
  • 7ad190c267 feat(sp37): batch_envelope_index now resolves by ST02 or ISA13 Nora 2026-07-07 10:30:23 -06:00
  • 3a58f561d4 feat(sp37): populate batches.transaction_set_control_number on 837P ingest Nora 2026-07-07 10:22:32 -06:00
  • 0067ecc5da feat(sp37): add batches.transaction_set_control_number column sp37 bot 2026-07-07 10:13:00 -06:00
  • 698f8660bf docs(plan): SP37 canonical submit-batch flow Nora 2026-07-07 10:00:28 -06:00
  • 178898a8e1 docs(spec): SP37 canonical submit-batch flow Nora 2026-07-07 09:56:12 -06:00
  • 710104f491 docs: document manual SFTP mode for this host (post-SP36) Nora 2026-07-07 09:48:57 -06:00
  • 4b56416414 docs(sp36): mark spec + plan as merged into main (f005494) cyclone 2026-07-07 08:50:07 -06:00
  • f005494606 merge: SP36 api-routers-split into main Nora 2026-07-07 08:42:28 -06:00
  • 69b338234d feat(sp36): extract parse router (5 routes + 7 helpers promoted to _shared.py) cyclone 2026-07-06 16:02:45 -06:00
  • 17736ccffa feat(sp36): extract claims router (5 routes + 3 single-router helpers) Nora 2026-07-06 15:37:58 -06:00
  • 5f5ac875f1 feat(sp36): extract batches router (3 routes + 3 single-router helpers) Nora 2026-07-06 15:33:49 -06:00
  • 97145f313b feat(sp36): extract inbox router (6 routes, 2-cut non-contiguous block) Nora 2026-07-06 15:29:24 -06:00
  • 4770c04021 feat(sp36): extract clearhouse + providers routers Nora 2026-07-06 15:24:09 -06:00
  • cad4f1fe2d feat(sp36): extract remittances + activity routers (NDJSON live-tail batch) Nora 2026-07-06 15:15:52 -06:00
  • 7abe94a3a8 feat(sp36): extract reconciliation router Nora 2026-07-06 15:06:40 -06:00
  • 6a5dbdf88a feat(sp36): extract config router Nora 2026-07-06 15:01:58 -06:00
  • 5028628269 feat(sp36): extract payers router Nora 2026-07-06 14:49:36 -06:00
  • 299c1a85a3 feat(sp36): extract eligibility router Nora 2026-07-06 14:40:49 -06:00
  • 9429d11b5f feat(sp36): extract dashboard router Nora 2026-07-06 14:34:00 -06:00
  • 85791e0df7 feat(sp36): absorb 20 admin endpoints into api_routers/admin.py Nora 2026-07-06 14:01:37 -06:00
  • 21066ad0bf feat(sp36): absorb 277ca-acks endpoints into api_routers/acks.py Nora 2026-07-06 13:40:09 -06:00
  • a963d3ce25 feat(sp36): wire api_routers/__init__.py as the registration point Nora 2026-07-06 13:32:10 -06:00
  • a52a85c7a2 docs(spec+plan): SP36 api-routers-split — split 4,341-LOC api.py into per-resource routers under api_routers/, 19-task plan with per-step live-test + autoreview + commit cycle Nora 2026-07-06 13:20:12 -06:00
  • 95f5e91ade merge: SP35 parse-input-guards into main Nora 2026-07-06 13:19:39 -06:00
  • 3bc5740e8b feat(sp35): Upload page auto-detects 837P vs 835 from file content sp35-parse-input-guards Nora 2026-07-06 09:58:26 -06:00
  • b0e06a2dd0 feat(sp35): regression locks on parse-999/277ca/ta1 envelope guards Nora 2026-07-06 09:53:53 -06:00
  • d1cd6e1a51 feat(sp35): /api/parse-835 envelope + empty-claims guards Nora 2026-07-06 09:52:51 -06:00
  • f25214189a feat(sp35): /api/parse-837 envelope + empty-claims guards Nora 2026-07-06 09:51:27 -06:00
  • e4f3d25f3a docs(plan): SP35 parse-input-guards — server guards + UI auto-detect + 999/277CA/TA1 regression locks, TDD-first Nora 2026-07-06 09:45:50 -06:00
  • 750f560ee0 docs(spec): SP35 parse-input-guards — defense in depth against misroute silent-corruption Nora 2026-07-06 09:45:50 -06:00
  • 0193ee4c32 merge: SP33 co-txix-payer-fix into main Nora 2026-07-04 20:29:27 -06:00
  • 6bda5005c1 feat(sp33): resubmit CLI: skipped files don't audit or count as uploads sp33-co-txix-payer-fix Nora 2026-07-04 20:29:13 -06:00
  • 27bca33b09 feat(sp33): fix resubmit CLI session reuse + mismatch skip Nora 2026-07-03 12:32:30 -06:00
  • f10ab83628 feat(sp33): cli resubmit-rejected-claims + fixture/test payer_id refresh Nora 2026-07-02 21:50:23 -06:00
  • 244015a361 feat(sp33): cli backfill-999-rejections Nora 2026-07-02 21:16:11 -06:00
  • 3bf5622010 docs(sp33): update reference docs to CO_TXIX (per HCPF 837P Companion Guide) Nora 2026-07-02 21:07:12 -06:00
  • 0625c83a45 feat(sp33): apply_999_rejections uses batch_envelope_index Nora 2026-07-02 21:07:07 -06:00
  • cf7c343ff0 feat(sp33): PayerConfig.co_medicaid() emits CO_TXIX Nora 2026-07-02 20:23:56 -06:00
  • dae7749464 docs(plan): SP33 Co TXIX payer fix implementation Nora 2026-07-02 20:22:17 -06:00
  • 2e7ad471e0 docs(spec): SP33 CO TXIX payer fix design Nora 2026-07-02 20:20:01 -06:00
  • dfd654202e merge: SP32 rendering & service-provider NPI extraction into main Nora 2026-07-02 17:21:49 -06:00
  • 15c85300f6 docs(spec): SP32 align D7 with --file/--input-dir backfill design Nora 2026-07-02 17:18:51 -06:00
  • 1b2f6c6b21 test(sp32): bump migration version assertions to 19 Nora 2026-07-02 17:18:16 -06:00
  • 0f3b264e41 feat(sp32): add backfill-rendering-npi CLI subcommand Nora 2026-07-02 17:16:59 -06:00
  • de77f19d9d feat(sp32): _content_keys_match prefers typed NPI columns over raw_json fallback Nora 2026-07-02 17:08:09 -06:00
  • c4bc118557 feat(sp32): wire rendering_provider_npi and service_provider_npi through ORM builders Nora 2026-07-02 17:06:25 -06:00
  • 055b4ae30e docs(spec): SP32 align test list with single-NPI-per-Remit design Nora 2026-07-02 17:04:47 -06:00
  • 4d3eef22ef feat(sp32): extract 837p NM1*82 (rendering provider NPI) per ClaimOutput Nora 2026-07-02 17:04:07 -06:00
  • d8707ba874 feat(sp32): extract 835 NM1*1P (service provider NPI) per ClaimPayment Nora 2026-07-02 16:56:01 -06:00
  • c491003287 feat(sp32): add rendering_provider_npi and service_provider_npi columns (migration 0019) Nora 2026-07-02 16:53:55 -06:00
  • 4363b4fe41 docs(plan): SP32 rendering & service-provider NPI extraction Nora 2026-07-02 16:52:32 -06:00
  • d44948cb90 docs(spec): SP32 update D10/testing for single-NPI per Remit Nora 2026-07-02 16:51:18 -06:00
  • 9e2dde6ddb docs(spec): SP32 simplify D4/D6 — single-NPI per Remit, no comma-aggregation Nora 2026-07-02 16:51:12 -06:00
  • 2d40fbbcbb docs(spec): SP32 rendering & service-provider NPI extraction Nora 2026-07-02 16:43:14 -06:00
  • a2ec65e5c6 merge: SP31 835 strict content-match auto-link into main Nora 2026-07-02 16:25:48 -06:00
  • 18fa119ff7 feat(sp31): expose keys_matched/candidate_count in Match dataclass and ActivityEvent payload, fix broken pre-existing test Nora 2026-07-02 16:23:42 -06:00
  • ab91449e62 feat(sp31): integrate content-keys fallback into reconcile.run() with auto_matched_835 event Nora 2026-07-02 15:58:01 -06:00
  • 9bade2429c fix(sp31): read NPI and charge from raw_json when ORM attribute missing Nora 2026-07-02 15:27:32 -06:00
  • 5a54961930 feat(sp31): add _score_fallback_candidates DB helper with ±30-day candidate pool Nora 2026-07-02 15:17:26 -06:00
  • b484ca36dc feat(sp31): add _content_keys_match pure helper (2-of-3 PCN/charge/NPI rule) Nora 2026-07-02 15:04:48 -06:00
  • 75a2800a9d refactor(sp31): rename Match strategy 'auto' to 'pcn-exact' for audit clarity Nora 2026-07-02 14:59:49 -06:00
  • 6624a0bafd docs(plan): SP31 835 strict content-match auto-link Nora 2026-07-02 14:56:43 -06:00
  • a12104fb0f docs(spec): SP31 835 strict content-match auto-link Nora 2026-07-02 14:53:48 -06:00
  • edee0a6259 merge: SP30 Dashboard Recent batches widget into main Nora 2026-07-02 14:18:59 -06:00
  • 97512ec4a7 feat(sp30): Dashboard Recent batches widget with billing outcome Nora 2026-07-02 14:18:55 -06:00
  • bde3060e9e docs(spec,plan): SP30 Dashboard Recent batches widget Nora 2026-07-02 14:08:30 -06:00
  • 1d2572e624 merge: SP29 Inbox 999-rejected drill into main Nora 2026-07-02 13:16:40 -06:00
  • ffacfd8665 feat(sp29): inbox rejected-row 999 ack chips + per-row Resubmit Nora 2026-07-02 13:16:38 -06:00
  • 9cc13e7940 docs(spec,plan): SP29 Inbox 999-rejected drill Nora 2026-07-02 13:06:21 -06:00
  • 37caf6af77 docs(plan): SP28 follow-up notes — Batch.kind fix + one-time backfill Nora 2026-07-02 12:31:37 -06:00
  • 02b879a204 merge: SP28 follow-up — fix Batch.kind '837' vs '837p' mismatch Nora 2026-07-02 12:22:36 -06:00
  • fba594baf4 fix(sp28): align Batch.kind filter with prod ('837p' not '837') Nora 2026-07-02 12:22:29 -06:00
  • 190f4b8c8d merge: SP28 ack-claim auto-link into main Nora 2026-07-02 12:12:31 -06:00
  • 9d11ffcd8a docs(plan): SP28 deviations log — 4 backend + 5 frontend post-impl notes Nora 2026-07-02 12:05:45 -06:00
  • 21a5485faa feat(sp28): api_routers/claim_acks (7 endpoints) + claim_acks surface on claims/acks Nora 2026-07-02 11:55:15 -06:00
  • 3fd2c445e7 fix(sp28): use fmt.usd instead of fmt.money in MatchedClaimPanel Nora 2026-07-02 11:46:45 -06:00
  • 9e16b8d9bd feat(sp28): wire apply_claim_ack_links into handle_999 / handle_277ca / handle_ta1 Nora 2026-07-02 11:45:19 -06:00
  • 1c367ddbe7 feat(sp28): Inbox ack orphans lane with Dismiss + Link to dropdown Nora 2026-07-02 11:44:53 -06:00
  • d8f3fb15f9 feat(sp28): Acks page Claims badge column with orphan/single/many variants Nora 2026-07-02 11:40:50 -06:00
  • 602dc352c5 feat(sp28): AckDrawer matched-claim panel + manual-match dropdown Nora 2026-07-02 11:39:02 -06:00