ci: bump actions/github-script from 7 to 8#3
Open
dependabot[bot] wants to merge 497 commits intomainfrom
Open
Conversation
added 30 commits
January 27, 2026 07:07
- Remove internal component taxonomy wording from public docs. - Delete the top-level build script (root is a workspace, not a package).
Track the existing `crates/anno/examples/minimal.rs` and `crates/anno/benches/similarity.rs` as first-class Cargo artifacts.
Keep the docs set small and implementation-aligned; remove large design/research notes and stale docs in favor of generated artifacts and git history.
- Consolidate core/coalesce APIs into the `anno` crate modules. - Align feature-gating and defaults (ONNX-first; optional CLI/eval/graph/candle). - Keep evaluation harness/reporting aligned to generated artifacts.
- Build all examples for `discourse` instead of missing named examples. - Add a cargo-machete ignore list for the current module layout. - Make SARIF upload non-fatal for the OpenGrep job.
Apply rustfmt formatting in benchmark and eval modules.
Route cargo-machete through a single helper script and update CI/justfile/scripts to scan the real module roots. Also fix brittle static-analysis scripts and make env-locking in tests poison-safe.
added 23 commits
February 7, 2026 09:23
Three MuxerMode values map to the three routing objectives: - triage -> WorstFirst + regression detection (Objective 3: detection/investigation) - measure -> MlOnly (Objective 1: exploitation/stable measurement) - coverage -> Estimate (Objective 2: fill the quality matrix uniformly) Changes: - Add MuxerMode::Coverage (aliases: estimate, benchmark, fill, sweep) - Auto-enable regression detection in triage mode - Document each mode's connection to the objective manifold framework Usage: ANNO_MUXER_MODE=triage # find what broke (worst-first + regression alerts) ANNO_MUXER_MODE=measure # route to best backends for stable F1 estimates ANNO_MUXER_MODE=coverage # fill least-observed cells in the quality matrix
- Bump the muxer git pin to 97af4dd. - Remove always-on path patches from Cargo.toml so CI/standalone clones can resolve deps normally. - Document the super-workspace path overrides in .cargo/config.toml.example. Cargo.lock updated accordingly.
When ANNO_MUXER_PROFILE is fast/fast-strict, exclude a small set of known-slow datasets by default to avoid debug-mode OOM/timeouts. Add ANNO_MATRIX_INCLUDE_SLOW_DATASETS=1 as an override and document the env knobs.
Switch the optional eval dependency from a git rev pin to the published muxer crate. This keeps the anno toolchain aligned with public releases and updates pare to 0.1.1 via muxer.
Patch muxer via [patch.crates-io] (it is now a crates.io dependency), and drop the stale git-source patch stanza.
The package name `anno-lib` caused all doctests to fail with `use of unresolved module anno` (Rust derives the crate name from the package name, yielding `anno_lib`). Adding `[lib] name = "anno"` fixes the mismatch without changing the published package name. Also rename the three call-sites that used the old `anno_lib::` prefix (integration test, example, bench). All 67 previously-failing doctests now pass; full workspace is green.
Closes out the [Unreleased] section with the features that have been implemented since 0.2.0: - Workspace split: anno-core, anno, anno-eval, anno-cli, anno-metrics, anno-lattix - PatternNER → RegexNER rename - GLiNER2 multi-task backend (ONNX + Candle) - Coreference: T5Coref scaffold, GraphCoref iterative refinement, MentionRankingCoref - Graph RAG: GraphDocument with Neo4j Cypher + NetworkX/JSON-LD export - Grounded entity representation: Signal → Track → Identity (GroundedDocument) - Task evaluation system with LinUCB routing and regression detection - Discourse analysis: centering theory, abstract anaphora, events - anno-metrics and anno-lattix crates T5Coref::resolve() uses a rule-based heuristic fallback pending full encoder/decoder ONNX wiring. All other features are functional.
Previously T5Coref loaded the encoder and decoder sessions but resolve() only ran a pronoun-proximity heuristic. The ONNX fields were marked #[allow(dead_code)]. This commit wires the full seq2seq inference path: - tokenize_input: HF tokenizer + truncation to max_input_length - mark_mentions: heuristically marks pronouns + capitalised spans with <m>…</m> for T5 input - run_encoder: encoder forward pass → (flat_hidden_states, seq_len, hidden_size) - decoder_step: single greedy step (full decoder_input_ids feed, no KV-cache) - greedy_decode: loop until EOS or max_output_length - decode_tokens: tokenizer.decode back to string - parse_coref_output: parse "word | N" cluster-ID markers → CorefCluster[] resolve() now tries the T5 path first and falls back to resolve_simple() if inference errors or produces no clusters (e.g. model not fine-tuned). #[allow(dead_code)] attributes removed from encoder/decoder/tokenizer/config. The heuristic fallback in resolve_simple() is preserved for models that have not been fine-tuned with the "| N" cluster-ID format.
- anno-core: publish = true, version bumped to 0.3.0 (was missed in the
0.3.0 workspace bump since it doesn't use version = { workspace = true })
- anno-metrics: publish = true
- PUBLISH_STATUS.md: update to reflect the publish-active decision with
ordered publish instructions (anno-core → anno-metrics → anno)
- cargo fmt --all: reformat coref_t5.rs (mark_mentions method) and similarity bench (import order) - clippy -D warnings: extract type aliases for complex HashMap type in anno-eval history.rs (very_complex_type lint) - RUSTDOCFLAGS=-D warnings: wrap feature vector layout in a ```text block in muxer_harness.rs so rustdoc does not try to resolve [0]..[7] as intra-doc links
- resolve_marked: calls resolve_t5_raw (pre-marked text, no re-marking) with fallback to similarity clustering - resolve_entities: reconstructs <m>…</m> markers from entity spans via mark_entity_spans, then calls resolve_t5_raw - resolve_t5_raw: shared inner path for pre-marked text (tokenize → encoder → greedy_decode → parse_coref_output) - mark_entity_spans: inserts <m>…</m> around entity character spans, sorted and deduplicated Also: bump muxer pin to 0.1.3, update yanked zip dep (7.3.0 → 7.2.0)
Three pure parsing/processing functions extracted from T5Coref impl and exposed as testable free functions (no ONNX session needed): - mark_mentions_for_t5(text): heuristic <m>…</m> markup for pronouns and capitalised tokens - parse_t5_coref_output(decoded): parse "word | N" cluster markers → CorefCluster[] (singletons filtered) - extract_t5_mentions(marked_text): strip <m>…</m> tags → (plain, [(text,start,end)]) with span offset consistency The T5Coref methods now delegate to these free functions (DRY). Added MentionList type alias to satisfy clippy::type_complexity. Test coverage: 17 tests covering mark, extract, and parse paths — including empty inputs, no-marker pass-through, span offset consistency, singleton filtering, canonical selection, and sort order.
…gorithm
Closes the long-standing TODO(discontinuous) in extract_discontinuous.
Previously the DiscontinuousNER implementation wrapped every contiguous
entity in a single-segment DiscontinuousEntity (no true gap detection).
This commit adds:
- decode_discontinuous_from_matrix: the full W2NER §3.3 algorithm
1. Find THW(tail, head) cells → entity boundary spans
2. Build NNW adjacency set (symmetric)
3. For each entity span, trace head..=tail; any adjacent pair (i,i+1)
missing from NNW set is a gap → split into disjoint word-index
sub-spans
Returns Vec<(label, Vec<(word_start, word_end_exclusive)>, score)>
- extract_discontinuous_with_nnw: wires the algorithm into ONNX inference
(runs the same tokenize/encode/decode pipeline as extract_with_grid,
then calls decode_discontinuous_from_matrix, converts word-index spans
to char offsets, and builds DiscontinuousEntity with the real multi-span
structure)
- Updated DiscontinuousNER::extract_discontinuous docstring to reflect
actual implementation
- 5 new unit tests covering: contiguous 3-word entity, two-part
discontinuous entity (missing NNW → 2 segments), empty matrix,
multiple single-word entities, threshold filtering
Total W2NER tests: 15 (was 10).
- Set publish = false on anno-core, anno-metrics, anno-lib - Update PUBLISH_STATUS.md: only anno published; internals yanked - .gitignore: add generated/, stop tracking reports/
…nks to docs - parser: add Self::Burn => unreachable! in #[cfg(not(feature = "eval"))] match - README: replace backtick doc paths with markdown links (PUBLISH_STATUS, CONTRACT, BACKENDS, QUICKSTART)
Default workspace check does not enable burn; arm must be cfg-gated.
…nore tidy - CI: use reports/eval-sanity-report.md for sanity job (script writes there) - CI: skip test_randomized_matrix_sample in test-eval (runs in matrix-test job) - nextest: exclude randomized_matrix_sample from quick profile - QUICKSTART: move two-binary note out of bash block - .gitignore: add !CONTRIBUTING.md !SECURITY.md, dedupe entries - muxer_harness: test loop style (iter)
Dependabot couldn't find the original pull request head commit, 98d425a.
98d425a to
7c24787
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps actions/github-script from 7 to 8.
Release notes
Sourced from actions/github-script's releases.
... (truncated)
Commits
ed59741Merge pull request #653 from actions/sneha-krip/readme-for-v82dc352eBold minimum Actions Runner version in README01e118cUpdate README for Node 24 runtime requirements8b222acApply suggestion from@salmanmkcadc0eeaREADME for updating actions/github-script from v7 to v820fe497Merge pull request #637 from actions/node24e7b7f22update licenses2c81ba0Update Node.js version support to 24.xYou can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)