Skip to content

Release: merge dev into main (feature docs v4–v114, 130+ headless utils)#323

Merged
JE-Chen merged 304 commits into
mainfrom
dev
Jun 22, 2026
Merged

Release: merge dev into main (feature docs v4–v114, 130+ headless utils)#323
JE-Chen merged 304 commits into
mainfrom
dev

Conversation

@JE-Chen

@JE-Chen JE-Chen commented Jun 22, 2026

Copy link
Copy Markdown
Member

Summary

Promotes the accumulated dev work to main. This is a large release spanning many research-driven expansion rounds; every change landed on dev via its own CI-green PR (SonarCloud + Codacy + GitHub Actions).

Highlights since main:

  • 130+ new headless utils/ modules, each shipped through all five layers (headless core → package facade __all__AC_* executor command → MCP tool → Script Builder CommandSpec) with a headless unit test and EN/Zh docs.
  • Feature docs v4 → v114 (docs/source/{Eng,Zh}/doc/new_features/), with matching "What's new" sections in all three READMEs.
  • Lanes include: i18n/l10n (text_normalize, locale_collation, confusables, readability, bidi_check, list_format, message_format, gettext_catalog), time-series/anomaly (timeseries, anomaly, smoothing, percentiles), reliability/idempotency (idempotency, dedup_window, sequence_gap, optimistic CAS, outbox, saga, bulkhead, rate_limit), HTTP semantics (http_problem, sse_client, link_header, multipart, http_content, cookie_jar, http_conditional, http_cassette), data quality (data_profile, data_drift, dataset_diff, referential, schema_compat), observability (trace_context, baggage, canonical_log, otlp_export), supply-chain (SBOM, OSV vuln scan, OpenVEX, license policy, SARIF), config/secrets (dotenv, layered_config, secret_ref, config_schema, config_redaction), and more.

Verification

  • Full headless suite on dev: 3088 passed, 15 skipped.
  • The top-level package stays Qt-free (import je_auto_control imports no PySide6).
  • All constituent PRs merged green; SonarCloud quality gate OK per PR.

Notes

  • The docker "Headless pytest inside the image" job is occasionally flaky (filesystem mtime timing in test_folder_sync, presence-cursor sync) — re-run on spurious failure.

JE-Chen added 30 commits June 19, 2026 06:45
Turn AutoControl from "run a script" into "run a robot": a SQLite-backed
work queue with per-item status, dedup-by-reference, atomic claim, and
REFramework-style retry semantics (application errors retry to
max_retries; business errors never retry). Resumable after a crash and
parallelizable across performers — the production-RPA pattern that the
DAG/scheduler didn't cover. Wired through facade (WorkQueue / WorkItem /
BusinessError), AC_queue_add/next/complete/fail/stats executor commands,
ac_queue_* MCP tools, Script Builder "Queue" entries, headless tests, and
a v10 reference page (EN + Traditional Chinese) + README sections.
Add transactional work queue (dispatcher/performer)
Add synthetic test data, MCP registry manifest, risk-based test selection
Add native-UI element repository and flow step debugger
Add skill library, prompt-injection guardrail, A2A agent card
Add headless Office I/O (Excel/Word/PowerPoint) as optional [office] extra
…-batch

Add agent episodic memory store and deterministic-run harness
Add WCAG 2.2 SC-tagged accessibility rule engine
Add reactive screen observer (appear/vanish/change)
Add CycloneDX SBOM generator and duration-aware suite sharding
…-batch

Add data-quality helpers: row schema validation, field extraction, masking
Add i18n/l10n testing: pseudo-localization, text-overflow, catalog diff
…batch

Add flow checkpoint/resume (durable execution) and py.typed marker
JE-Chen added 24 commits June 22, 2026 10:10
…batch

Add idempotency-key store with stored responses
work_queue dedups only new/in_progress references — once an item
completes the same reference enqueues again and redelivered webhooks
reprocess. Add DedupWindow: a sliding-window inbox whose check_and_mark
returns True the first time an id is seen within ttl_s and False for a
duplicate, converting at-least-once delivery to exactly-once-in-window.
Injectable clock, bounded size. Wired through facade, executor
(AC_dedup_check, named-instance registry), MCP, and the Script Builder
with a headless test batch and EN/Zh docs.
…-batch

Add time-windowed message deduplication (exactly-once inbox)
Nothing tracked per-stream monotonic sequence numbers to detect missing,
out-of-order, or duplicate messages. Add SequenceTracker.observe which
classifies each sequence number as ok / duplicate / gap (recording the
missing numbers) / reorder (late arrivals fill gaps), plus gaps and
high_water per stream. Complements dedup_window. Wired through facade,
executor (AC_sequence_observe, named-instance registry), MCP, and the
Script Builder with a headless test batch and EN/Zh docs.
…-batch

Add per-stream sequence-gap detection
http_conditional uses ETag for read caching (If-None-Match / 304) but
never for write concurrency. Add a local compare-and-swap VersionedStore:
put only when expected_version matches (VersionConflict on a stale write),
monotonic version, guarded delete, JSON persistence, plus if_match_header
/ check_if_match to bridge to HTTP If-Match. Wired through facade,
executor (AC_cas_put / AC_cas_get, named-instance registry), MCP, and the
Script Builder with a headless test batch and EN/Zh docs.
…atch

Add optimistic-concurrency versioned store (CAS / If-Match)
Add transactional outbox for durable at-least-once event delivery
…tion-batch

Add locale-aware string collation with multi-level sort keys
…batch

Add confusable / homoglyph detection for Unicode spoofing
…batch

Add readability scoring (Flesch, Flesch-Kincaid, Fog, SMOG, ARI)
…atch

Add bidirectional-text QA with Trojan-source detection
…batch

Add locale-aware list formatting (CLDR-style and/or/unit)
…at-batch

Add ICU-lite MessageFormat (plural/select/selectordinal)
…log-batch

Add GNU gettext catalog I/O (parse .po, compile/read .mo)
@codacy-production

codacy-production Bot commented Jun 22, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 6482 complexity · 7 duplication

Metric Results
Complexity 6482
Duplication 7

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

JE-Chen added 2 commits June 22, 2026 12:31
- Replace float == 0.0 distance check in motion with an epsilon guard (S1244)
- Use pytest.approx for the dominant_fraction assertion (S1244)
- Guard list indexing in the humanized-motion test (S6466)
- Mark the seeded non-crypto RNG calls in flow_control/typing NOSONAR (S2245)
@JE-Chen JE-Chen merged commit 491fd9b into main Jun 22, 2026
31 checks passed
@sonarqubecloud

Copy link
Copy Markdown

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant