Skip to content

Release Planning for PY 1.20.5 #1227

Description

@ebhills

Purpose

Coordinate PY 1.20.5 and the companion XL, API-Core, WranglesJS, and Lambda-Recipes changes here. PY 1.20.5 is published. Its release notes contain customer-facing changes only. Companion drafts: XL 2.15.0 and API-Core 1.21.2, both unpublished and targeting main.

Maintain this issue body as the current scope and checklist. Add dated comments for decisions, test results, and deployment evidence; reflect consequential decisions back into the checklist. Check an item only when its stated outcome is verified. Local tests, CI, deployment, and live acceptance are separate evidence.

Agreed scope and decisions

Decision Disposition
Retain the merged AI configuration foundation Keep PY #1200. Defer the broader JSON Schema/compiler/caller redesign #1206 and packaged catalog #1203.
Preserve simple extraction reasoning syntax Keep PY #1226: omitted reasoning defaults to none; flat reasoning: none and nested reasoning: {effort: none} remain equivalent. Explicit caller/saved/configuration choices retain precedence; unsupported provider settings remain visible.
Modernize active first-party model defaults Target gpt-6-luna, including replacement of GPT-5.6-Luna defaults. Track narrow cleanup in #1225. Do not rewrite saved customer definitions or embedding/index contracts.
Notes use the shared recipe runtime XL → Core /notes → Lambda/PY Responses, using the fixed Notes Writer recipe and one dedicated server-side NOTES_OPENAI_API_KEY. Require the caller's extract-ai entitlement. The earlier plan to upgrade the legacy Extract-AI service is superseded.
Leave legacy Web cleanup for later WranglesWeb is inactive. Retain the older JS public extract.ai client for now; track removal in JS #124 and Web migration in Web #125. Do not archive the extraction service without a separate remaining-caller audit.
Retain existing XL helpers; defer table feature completion Eric agreed on October 11 to leave XL as is. Keep merged wrangleworks/WranglesXL#1288, wrangleworks/WranglesXL#1289, and wrangleworks/WranglesXL#1290; no table rollback is required. Keep PY #1222 and XL #1291 outside this release, and omit Excel table development from customer-facing release notes.
Defer Core catalog integration Core #178 rolled back wrangleworks/API-Core#162 and wrangleworks/API-Core#165. Ordinary model/Notes calls must work without wrangles_catalog or models.catalog_id. Restore later with a reviewed schema and caller rollout.
Keep metadata delivery separate The responses-metadata work is checkpointed locally across Core/Lambda/JS/XL. Publication is paused while release planning is reconciled. Do not describe it as shipped.
Add classic search-result part-code evidence PY #1229 merged on October 11 at cea9085a. Each scored result gains reduced part_code_matches and a pre-reduction part_code_match_count; scores, filtering, ordering, and recipe output mapping remain unchanged. The documentation follow-up PY #1230 is merged at 8097d8dd.
Defer generate.ai Eric confirmed on October 11 that generation can be ignored for this release. Its reasoning-consistency gaps are not release blockers.

Customer-visible PY candidate

Structured Typesafe answers and row/candidate templates; AI Mode search; tolerant convert.parse; explicit key/semantic lookup operations; saved Extract-AI schema/instruction authoring; Luna defaults and flat/nested reasoning; selected-data reads and columns/sheet output; Gemini retrieval prompts/thinking/deadlines; custom-function binding, matrix error propagation, and split.dictionary fallback fixes; Python 3.14 support and test-selection checks. Also include #1229's part-code match evidence and #1228's missing not_columns fix. The release notes describe these under the same five sections as 1.20.3.

Release checklist

Completed source and development prerequisites

  • Publish PY 1.20.5. Eric published the release; PY Deploy Prod and its downstream Lambda Deploy Prod completed successfully on October 11. This is workflow evidence; a live production smoke test remains separate.

  • Resolve XL table scope. Eric agreed on October 11 to leave the already-merged XL table helpers in place. No table rollback is required; keep PY Add named Excel table read and write connector #1222 and XL #1291 deferred and omit table development from customer-facing release notes. The ordinary columns/sheet live acceptance check remains open.

  • Merge PY #1229 at cea9085a and PY #1228 at 77968950. Part-code evidence and missing not_columns handling are on main; final-candidate CI/deployment and the small documentation follow-up remain separate.

  • Move release planning into this issue, rewrite the draft using the customer-facing 1.20.3 sections, and create the catalog/table restoration issues. Install the reusable Codex release-notes-guidance skill for future drafts.

  • Retain Centralize AI model configuration and integrate WranglesPY callers #1200 and restore extraction reasoning defaults/flat YAML on main through Preserve extraction reasoning defaults and support flat YAML syntax #1226.

  • Merge spreadsheet response fixes: Lambda #64, Lambda #65, and XL #1292. Internal memory is filtered; XL owns unchanged-column suppression.

  • Wire Notes through Core #176, JS #123, and XL #1293, using published JS 1.42.0.

  • Remove Core catalog dependencies with wrangleworks/API-Core#178.

  • Merge Core #179 and persist Service User credential references in the dev task configuration.

  • Deploy PY main to the dev recipe Lambda. Observed package/image is dev-1.20.5rc1; user confirmed a successful Notes call showing Luna/none. This is one successful path, not complete XL acceptance.

Remaining release work

  • Search-scoring documentation follow-up: PY #1230 merged at 8097d8dd before the PY release.
  • Reconcile Replace remaining GPT-4 and GPT-5.6-Luna defaults with gpt-6-luna without the API configuration redesign #1225 with the completed Notes route. The Luna issue now records the implemented runtime path, deferred JS/Web exception, and excluded generation work. No standalone Extract-AI service upgrade is required.
  • Defer the extraction example notebook until after release. Eric requested this explicitly on October 11; track the notebook-only checkpoint ed69a569 in PY #1231. It is not a PY 1.20.5 release gate.
  • Finish Luna live acceptance. Run final inline/saved/standalone extraction and all Notes checks on the frozen candidate. Include omitted reasoning, flat none, nested {effort: none}, and an explicit override. Metadata remains separate.
  • Defer generate.ai. Explicitly excluded from release readiness by Eric on October 11; no generation fix is required for PY 1.20.5.
  • Complete or explicitly defer Responses attribution delivery. Review the local Core/Lambda/JS/XL metadata checkpoints, merge and deploy only after that decision, then verify original caller and source name in real OpenAI logs.
  • Match package and tag. PY v1.20.5 was published from bd5f88fb. The tagged workflow passed version validation, package/container checks, and publication to CodeArtifact and PyPI.
  • Freeze and deploy the coordinated dev candidate. The latest observed PY Deploy Dev run succeeded on October 10 from 1d5e05a2, before Fix missing not_columns entries in write filters #1228/Add detailed part-code match evidence to search result scoring #1229; verified from GitHub on October 11. Promote the final main candidate and verify the recipe Lambda actually uses it before final acceptance. Record exact main commits, PY and JS package versions, schema source, Lambda digest, Core digest/task revision, and XL digest. Refresh CI evidence for any later fixes.
  • Complete manual acceptance below on that candidate and record outcomes, including any known limitations.
  • Verify production Notes configuration before the XL rollout. Confirm the production Gateway/Core /notes route, runner route, Service User/client configuration, secret references, fixed recipe and dedicated key without exposing secret values. Also verify XL's production WRANGLES_NOTES_API_URL=https://api.wrangle.works/notes; missing or invalid runtime configuration prevents provider initialization. Development success is not production provisioning evidence.
  • Draft XL 2.15.0 and API-Core 1.21.2. XL draft covers the net v2.14.3...0c149e4b changes; Core draft covers v1.21.1...7b62e633. Both use the agreed customer-facing sections, omit empty sections, and omit table development, reverted catalog work, and unpublished metadata. Tag, main target, exact body, and unpublished status were re-read after creation.
  • Reconcile Lambda release records. Its earlier 1.20.5 draft used an older comparison baseline; refresh against the completed production deployment and compare from 1.20.4.1. This is separate from the completed XL/Core draft preparation.
  • Record promotion and rollback artifacts. PY publication dispatches the production recipe-Lambda workflow. XL's tag workflow resolves the current latest image; use and verify an immutable source matching the agreed release scope, including the retained XL helpers. Image promotion and ECS production rollout are distinct.
  • Final companion release review and approval. PY publication was performed by Eric. Recheck XL/Core scope, draft text, selected images, production configuration, and rollout order before their publication/deployment. The requested XL/Core draft edits do not authorize publishing or deploying them.

Manual acceptance checklist

Run with small synthetic data first. Record expected/actual results, date, environment, and artifact versions in comments.

  • Classic product-search scoring: Add detailed part-code match evidence to search result scoring #1229 is merged. On the final deployed candidate, confirm case-insensitive exact matches, stripped-code equality, MPN-first reduction, cross-source Code deduplication, and pre-reduction counts with the PREA recipe. Confirm the existing one/two-column output mapping and score/filter behavior; record the exact package/source commit.
  • Extraction reasoning and models (PY and XL recipe): run omitted reasoning, flat none, nested {effort: none}, then an explicit low override; confirm Luna and effective effort in provider logs. Check both inline schemas and a saved model; saved settings must retain their documented precedence.
  • Standalone XL Extract-AI: exercise one-column and multi-column selections; columns, JSON, and delimited outputs; blanks/nulls; schema/instructions; save → reopen → run. Confirm the recipe route and no legacy fallback.
  • Spreadsheet recipe integration (desktop and web Excel): five rows with batch size two (2/2/1), filtered selection, an unchanged input column, a column that changes only in a later batch, dynamic columns, mixed columns/sheet writes, missing/null values and row counts, and no internal-memory columns. Repeat using Production versus an explicitly loaded historical Editor version.
  • All Notes actions: recipe notes, wrangle notes, and both version-comparison entry points (NotesDialog and TagsDialog); preview/edit/save/reopen and an ordinary authorized user. Confirm safe error handling and absence of client-side provider keys. Verify attribution only after the metadata changes are deployed.
  • New PY operations: a representative ai.choose/ai.score/ai.true_false/ai.answers case including row templates and for_each; AI Mode search followed by extraction; tolerant parse input; correct and wrong lookup model variants.
  • Regression examples: Gemini retrieval using a full-row prompt field, explicit thinking and a per-URL timeout; split.dictionary.default with invalid/null input; a defaulted custom-function argument; a matrix child error surfaced to the caller.
  • Runtime limits and errors: a representative extraction batch plus one controlled invalid-model/provider failure. Confirm useful errors and acceptable latency. Do not treat the still-open bounded-concurrency redesign #1209 as completed.

Assessment evidence

Source checks below were refreshed October 11 where noted. Runtime/deployment observations remain the October 10 snapshot unless explicitly updated.

Repository Assessed main Evidence / limitation
PY cea9085a (October 11) Compared with published v1.20.4.1: 21 main-only commits, 3 release-only commits, 111 net changed files. #1226 remains included; #1228/#1229 are newly merged. Main CI completed successfully; verified October 11. The older dev deployment is not evidence that these new merges are deployed.
XL 0c149e4b Dev workflow passed; Notes and spreadsheet fixes included. Existing table helpers are retained by the October 11 decision; pending feature-completion PRs remain deferred.
JS b0886e2 XL selects published 1.42.0. Older public extraction method deliberately retained for deferred Web cleanup.
Lambda-Recipes 66f29a9 Dev deployment passed; AWS reports Active/Successful, image dev-1.20.5rc1, digest sha256:a3b8c4d3dd3036f4cdb4932e1770c6cfe994f749e24bbd06762a06c3a375f6ac.
API-Core 7b62e63 #179 merged; Dev deployment passed. Observed api-core-dev:24, rollout completed, 1/1 tasks.

The focused local model-config rerun was interrupted at Eric's pause request; it is not a new completed-test result. Earlier attempted execution failed because the agent's temporary parent directory was missing, not because of product behavior. The generation differences above were reproduced with synthetic input and mocked provider calls.

Core dev was returned to production SSO/database during the Notes repair; do not assume isolated customer data merely because the route says dev. Keep live tests limited to the agreed test data.

Deferred work and restoration tracking

Restoration must use current main and focused PRs; the follow-up issues do not authorize restoring deferred code during this release.

Continue to hold PY #1203/#1206, #1199, #1185, #1179/#1181, #1180, #1169, and broad model refactor #1018 outside this release. Preserve the earlier separate empty-Functions override follow-up under #943. Keep Core row/revision authoring wrangleworks/API-Core#174, catalog follow-ups wrangleworks/API-Core#171 / wrangleworks/API-Core#173, Git shadow export wrangleworks/API-Core#132, async recipes wrangleworks/API-Core#108, and incomplete dev-routing work (wrangleworks/API-Core#164, wrangleworks/WranglesJS#119, wrangleworks/WranglesXL#1253) separate. Reassess statuses when those workstreams resume rather than treating this list as their current completion state.

Decision log

  • October 11, production Notes configuration audit: Read-only AWS checks confirmed production Core is still API-Core:22 / image 1.21.1, with none of the six required NOTES_* / ENVIRONMENT settings and no KEYCLOAK_USER_ID or KEYCLOAK_USER_PASSWORD injection. The working dev task is api-core-dev:24; its Notes Service User subject is ec9e1004-82fb-4b33-97b9-00236d839867. Production XL is WranglesXL:15 / image 2.14.3, with no WRANGLES_NOTES_API_URL. The public api.wrangle.works domain maps to API Gateway HTTP API clbqu0wyx6, $default stage, which has neither POST /notes nor OPTIONS /notes and no matching catch-all. Existing Core integration is h9kznh1; existing Core JWT authorizer is a5lex8. Provision these route/configuration prerequisites with the Core/XL production rollout; image publication alone does not add them. No infrastructure changes or secret-value reads were performed.

  • October 11, companion drafts: Eric published PY 1.20.5 and requested unpublished XL 2.15.0 and Core 1.21.2 drafts. Created and re-read both drafts against current main and their latest published baselines. JS 1.42.0 is already published and its tagged publish workflow passed; XL's dependency and lockfile select it. No additional JS release was created.

  • October 11, notebook deferral: Eric requested a separate issue to update the extraction recipe notebook after release. Created PY Update extract.ai recipe notebook after PY 1.20.5 release #1231 and removed notebook publication from release/Luna acceptance gates. Current PY main cea9085a CI is successful; the 1.20.5 package-version alignment, final-candidate live acceptance, and production configuration/artifact verification remain open.

  • October 11, accepted table scope: Leave XL as is. Retain the merged table helpers; keep PY Add named Excel table read and write connector #1222 and XL #1291 deferred. Omit table development from customer-facing release notes. No table rollback is required.

  • October 11, table-scope question: Eric asked whether already-merged XL table code can remain if unused. Refreshed XL main is still 0c149e4b; RunRecipe.tsx invokes the helpers, but no table reads means the snapshot helper returns before Excel.run, and no excel.table.write response means the writer returns before Excel.run. An offline probe verified eight non-table recipe shapes without any Excel global; output routing requires the exact excel.table.write marker. All 52 tests passed across recipeTables.test.ts, runRecipeMetadata.test.tsx, and recipeColumnsWrite.test.ts; the tested files are identical to current main. These are offline checks, not live Excel evidence. Recommendation: leave the merged helpers dormant, keep PY Add named Excel table read and write connector #1222 and XL #1291 deferred, do not advertise table support, and smoke-test ordinary columns/sheet behavior in Excel before release. Eric subsequently agreed to leave XL as is and omit table development from release notes. This replaces the earlier requirement to remove the merged XL helpers.

  • October 11: Add detailed part-code match evidence to search result scoring #1229 is merged; one small documentation follow-up remains in progress. Ignore generate.ai for this release. Replace remaining GPT-4 and GPT-5.6-Luna defaults with gpt-6-luna without the API configuration redesign #1225 now tracks final runtime acceptance; notebook cleanup was subsequently deferred to Update extract.ai recipe notebook after PY 1.20.5 release #1231 after release.

  • October 9: Keep Centralize AI model configuration and integrate WranglesPY callers #1200, defer the larger AI configuration redesign, exclude new Excel tables, preserve simple reasoning YAML, and target Luna for active first-party defaults.

  • October 10: Use Core/Lambda/PY for Notes with one dedicated key; defer Web/legacy JS cleanup; roll back Core catalog dependencies.

  • October 10: Keep customer-facing changes in the draft release. Move planning, exclusions, TODOs, decisions, and evidence into this issue. Track restoration explicitly.

  • October 10: Include the additive classic search-result matching diagnostics from PY #1229 in the intended PY 1.20.5 scope. Preserve the original branch, exclude unrelated configuration history, and require merge/CI/review before treating the feature as included in the frozen package or customer-facing notes.

Original release-planning text moved from the draft (historical October 9 baseline; superseded by the checklist above)

WranglesPY 1.20.5 brings structured AI answers, AI Mode search, tolerant value parsing, explicit lookup operations, improved saved-model authoring, and coordinated spreadsheet recipe improvements.

Draft preparation status: not ready to publish. This draft records the assessed candidate and release gates as of October 9, 2026 (America/Chicago). No release tag or deployment has been created. Current main is 4ddeceb9ce30a0fca25c2b9aa03371a87103ce3a; refresh this assessment after the release fixes merge.

Intended scope

New additions in the current candidate

  • Structured ai.choose, ai.score, ai.true_false, and ai.answers operations through Typesafe, with per-row question templates and for_each expansion. #1202, #1205
  • search.ai_mode returns Markdown search answers and supports downstream structured extraction; follow-up cleanup preserves useful Google product references. #1188, #1197
  • convert.parse parses JSON-like cell values, including supported Python/YAML-style structures and quoted values. #1187
  • Explicit lookup.key and lookup.semantic entry points give each lookup variant its own documented contract. #1198
  • grid.selected_data / excel.selected_data read the calling selection, and excel.columns separates columns output from excel.sheet. These changes require the coordinated JS/XL/Lambda integration below; they do not include excel.table. #1221

Improvements and fixes

  • Saved Extract-AI authoring supports the expanded schema fields and General Instructions compatibility. #1184
  • The earlier AI configuration foundation centralizes provider/model choices and caller defaults, selects gpt-6-luna for extraction, and preserves explicit settings and version-1 configuration support. Universal reasoning behavior still needs the release fix described below.
  • URL retrieval prompts can reference columns from the full input row. Gemini retrieval now handles temperature and empty responses more clearly and exposes thinking controls and per-URL deadlines; the current configured retrieval default is Gemini 3.5 Flash. #1208, #1212, #1216
  • Custom functions bind positional inputs correctly with defaulted parameters, and matrix execution propagates failures instead of swallowing them. #1166, #1165
  • split.dictionary applies explicit defaults to invalid input cells and null-valued keys while preserving valid non-null values and isolating mutable defaults. #1224
  • Python 3.14 compatibility and CI coverage were added. Local test-selection drift is now checked in CI, and live search assertions treat requested result counts as limits. #1191, #1159, #1214

Compatibility to communicate

  • The current candidate removes the public wrangles.openai.chatGPT wrapper; callers must use wrangles.extract.ai. Internal legacy Chat Completions transport remains supported.
  • Missing/empty expected selected-data operands in composed reads now fail clearly. Existing input syntax and generic dataframe behavior remain supported within the documented compatibility contract.
  • Recipes supplying split.dictionary.default intentionally get fallback behavior for invalid/null values.
  • Do not claim new universal-reasoning behavior until the main-branch repair is merged. Explicit saved/caller/replacement-config settings must retain precedence, and provider incompatibility must remain visible.

Repository alignment

Counts below are from verified remote refs; file counts use the direct release-tag-to-main diff, including removal of release-only hotfix content.

Repository Published baseline Assessed main Change boundary
WranglesPY v1.20.4.1 4ddeceb9 18 main-only commits, 3 release-only commits, 106 net changed files
WranglesXL v2.14.3 991e3999 24 commits, 19 files; includes excluded table work
API-Core v1.21.1 198a79e6 42 commits, 51 files
WranglesJS v1.41.0 01a7a7dc Main equals the published tag; spreadsheet helpers are already published
Lambda-Recipes v1.20.4.1 88774496 3 commits, 3 net changed files

Release gates

  • Restore the published reasoning fix on main. The release tag contains ae3f594a, f6058464, and 28a92de0, which main lacks. Current main still gates reasoning by capabilities/name and can silently omit it for an unlisted model. Port the behavior and saved-definition regression coverage under #1217; do not merge the old release branch blindly. Review implicit Sol/generation low defaults separately from explicit overrides.
  • Complete the tactical model-default cleanup. #1225 identifies the JS gpt-4.1-mini default used by three XL note generators. They call the separate legacy extract-ai Lambda, so updating the recipe Lambda alone is insufficient. Validate that route with Luna, publish the JS change, and update XL's lockfile.
  • Remove already-merged table work from the XL release candidate. PY #1222 and XL #1291 are open and can remain excluded. XL #1288, #1289, and #1290 already merged. Prepare a focused exclusion/revert PR to main, preserving spreadsheet PR #1279 and UI improvements #1272–#1276. The pre-table checkpoint is 56e93aa3; merely leaving the open table PRs unmerged does not satisfy the exclusion.
  • Finish spreadsheet integration. PY Replace ignored input read with selected_data connector, and add Excel columns write mode #1221, JS #121, and XL #1279 are merged; JS 1.41.0 is published and pinned by XL. Lambda #64 fixes invalid JSON NaN/null responses and is merged. A separate local Lambda commit bd888236 on codex/keep-memory-out-output filters internal memory out of spreadsheet output; it has no open PR and is not on main. Review it with regression coverage before deciding the final Lambda candidate.
  • Verify API-Core deployment prerequisites. Database/HTTP lifecycle #160 and atomic model creation/failure recovery #168 are merged. All 12 review threads on Column Name Error on Chat Extract Wrangle #160 are resolved; current main passes unit and PostgreSQL/Gunicorn checks. Catalog binding changes Improve stack trace on errors #162/Missing Aliases #165 also merged. Confirm production catalog tables/columns and pool settings before rollout; the inspected diff does not contain a production database migration.
  • Match version and tag. Main still declares 1.20.4 in setup.py. Bump to 1.20.5, inspect built metadata, and rerun the release gates. The tagged workflow explicitly rejects a mismatch.
  • Deploy and test one coordinated development candidate. Freeze exact main commits, PY package, JS package, schema, and image digests. Verify selected-data 2/2/1 batching, filtered selection, unchanged/late columns, mixed sheet/columns output, F01/F02 null/row-count cases, internal memory, saved/inline extraction, and all note generators. Run desktop/web Excel checks where behavior depends on Office.
  • Pin production artifacts and record rollback. Publish PY only after the gates pass; its workflow dispatches Lambda-Recipes production deployment. XL/Core production workflows promote images and require a separate ECS rollout. XL's tag-triggered promotion uses the current latest image, not a build of the tag: use a verified immutable SHA/digest and confirm it excludes table work.

Current evidence and limits

  • PY main CI passes across its configured Windows/Linux Python 3.11/3.13/3.14 tests, pip installs, schema, and container checks. The separate Codespaces prebuild failed during manifest/template generation; that is not the product CI result.
  • XL main deployment workflow, JS tagged package workflow, API-Core main workflow, and Lambda main CI succeeded. JS retains one explicitly skipped live Extract-AI test; its passing build does not establish endpoint/model compatibility.
  • Read-only AWS metadata: production recipe Lambda is image 1.20.4.1; development is dev-1.20.4rc15, updated before the latest PY/Lambda merges. Production XL is 2.14.3; Core is 1.21.1. Functions report Active/Successful state, and ECS services report completed rollouts with expected running counts; this assessment did not run live Excel or provider smoke tests.
  • The most recent inspected Lambda dev workflow uses source 6f772a9b, preceding No Error: wrangle in read section of recipe #64. Redeploy the reviewed Lambda source with the new PY package; a new package alone does not pick up an unmerged/local Lambda fix.
  • Local checkouts remain on their existing workstream branches. They were clean at initial inspection; a later check showed an unrelated Lambda-Recipes README edit, which was left untouched. This assessment used freshly fetched origin/main and exact tags, without switching branches or changing product code.

Other incomplete work held out

Keep PY catalog/compiler #1203/#1206, runtime manifest #1199, CLI #1185, attachments #1179/#1181, mutable recipe variables #1180, NOOA #1169, and the older broad model refactor #1018 out of this release. The bounded-concurrency redesign #1209 remains open; smoke-test existing batch/deadline behavior rather than treating it as completed.

Keep API-Core row/revision authoring #174, catalog follow-ups #171/#173, Git shadow export #132, and async recipes #108 separate. Shared dev-routing work (API-Core #164, JS #119, XL #1253) is also incomplete; select and verify test endpoints explicitly. None of these open activities is assumed complete because another repository merged.

The existing Lambda v1.20.5 draft also needs its notes reconciled from v1.20.4.1; it currently compares from v1.20.2 and repeats already-released changes.

Full Changelog: v1.20.4.1...v1.20.5

Activity

  1. ebhills commented on Oct 11, 2026

    @ebhills
    CollaboratorAuthor

    October 10, 2026 — Part-code diagnostics preparation

    PY #1229 is pushed and open as a Draft, targeting main for PY 1.20.5. Delivery owner: ebhills. Head: 3ad0680319cba09c5e16e77e3473a6c4b962afd2; base: 1d5e05a2c77d0c1fa2c9aa3fd7d49640a429108d.

    Recovered only the eight matching commits from the old code-match-details-pra branch; unrelated configuration history was excluded. The new branch has six scoped changed files, zero commits behind main, and no merge conflicts (local merge-tree and GitHub mergeable: true). The original branch and unrelated Akeneo work are preserved.

    Final review corrected multiword overlaps such as M10 within M100 and sentence-punctuation evidence selection. Output remains additive: reduced MPN-first part_code_matches and pre-reduction part_code_match_count, nested in each scored result.

    Verified locally on the final head:

    • Focused scoring tests: 33 passed.
    • Full credential-free Windows / Python 3.13.1 suite via scripts/test-local.ps1: 3,019 passed, 6 skipped, 139 deselected.
    • Local test-config drift check and recipe schema generation/Draft7 validation passed.
    • Ten synthetic cases compared with main: legacy scores, filtering, ordering, and metadata unchanged after excluding the new fields.
    • Whitespace and changed-file scope checks passed.

    GitHub Actions CI is in progress. No live provider/service acceptance, merge, package publication, deployment, or release has been performed. The release checklist retains merge and candidate-package acceptance as unchecked gates; customer-facing release notes remain unchanged.

    Recommended disposition: Comment only

    Next steps

    1. PR assignee: After CI passes and a five-PR Ready-queue slot opens, mark Add detailed part-code match evidence to search result scoring #1229 Ready and request one primary reviewer.
    2. Reviewer: Verify the evidence-level, reduction/count, and compatibility regressions, then submit a fresh approval before merge.
  2. ebhills commented on Oct 11, 2026

    @ebhills
    CollaboratorAuthor

    October 11 production Notes verification:

    • API-Core 1.21.2 is published and its production deployment completed successfully.
    • Browser preflight passed, and an unauthenticated Notes request was correctly rejected.
    • Authenticated tests of recipe summaries, recipe-version comparisons, and wrangle summaries each returned one nonempty generated note using small synthetic inputs.
    • These are production API/provider results. Live Excel preview, editing, saving, and reopening still need manual acceptance.
    • XL 2.15.0 remains a draft. Its production Notes setting and rollout are the remaining companion-release steps.

    This comment records public release status and functional test results only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

Stage

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions