Skip to content

feat: add extractive_summary workload and pipeline support - #54

Closed
Exohayvan wants to merge 4 commits into
mainfrom
ai/next-step-20260630-074853
Closed

Exohayvan wants to merge 4 commits into
mainfrom
ai/next-step-20260630-074853

Conversation

@Exohayvan

Copy link
Copy Markdown
Contributor

Objective

Add a new deterministic local workload, extractive_summary, to extend the AetherMesh prototype from basic text preprocessing into a more useful AI-adjacent task while staying fully offline and replay-verifiable.

Why this matters: this change demonstrates end-to-end useful-work accounting for richer local jobs, by keeping output validation, routing, and contribution crediting in the same deterministic pipeline already used by other workload types.

What changed

  • Added extractive_summary to local job execution in the runner with deterministic sentence splitting, local token-frequency scoring, tie-breaking, and output shape (summary, sentences, sentence_count, source_sentence_count, character_count).
  • Enforced strict extractive_summary payload validation in runner and validator (text required, max_sentences optional integer 1–10, booleans excluded).
  • Wired validator recomputation for extractive_summary so completed outputs are accepted only if they exactly match deterministic rebuild results.
  • Added contribution scoring rules for valid extractive_summary outputs with capped integer units and defensive malformed-output handling.
  • Added extractive_summary to default capabilities and capability-based scheduling paths so assignment only occurs on nodes advertising support.
  • Updated README and example batch manifest to document the new job type, behavior, and scoring model.
  • Expanded tests for runner, validation, contribution scoring, scheduler routing, simulation flow, CLI snapshots, and manifest/node-capability behavior to cover determinism, bounds, malformed payload rejection, and audit/accounting paths.

Validation

  • Ran full test suite in this workspace: PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=src python -m unittest discover -s tests -v.
  • Result: 318 tests passed, 0 failures.
  • No secrets, webhook URLs, or external credentials were touched.

Safety notes

  • No force push used.
  • No hard reset used.
  • Local automation paths are not published in this PR body.

@Exohayvan

Copy link
Copy Markdown
Contributor Author

Automated review did not approve this PR

Automated Hermes/GPT-5.5 review decision for PR #54: bad.

Review notes

Ad-hoc verification completed again for the focused changed behavior.

Temporary script:
[local temp path redacted]

What it checked:

  • extractive_summary runner boundary behavior:
    • Empty sentence-boundary segments are ignored.
    • Trailing text without terminal punctuation is retained.
    • The output has exactly 2 source sentences with the expected sentence text.
  • extractive_summary contribution scorer defensive behavior:
    • Malformed outputs added in tests/test_contribution.py all score 0 contribution units.

Command run:
PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=src python [local temp path redacted]

Result:
ad-hoc verification passed: focused extractive_summary runner and contribution scorer behavior

Cleanup:
The temporary script was removed successfully.

This is ad-hoc focused verification only, not a claim that the full suite is freshly green.

Safety notes

  • Local review log path intentionally redacted.
  • No force push used by the automation.
  • No hard reset used by the automation.

@Exohayvan
Exohayvan force-pushed the ai/next-step-20260630-074853 branch from 2a925c9 to 04679a4 Compare June 30, 2026 15:51
@Exohayvan
Exohayvan force-pushed the ai/next-step-20260630-074853 branch from f33f385 to 3fd583e Compare June 30, 2026 16:11
@Exohayvan

Copy link
Copy Markdown
Contributor Author

Closing during PR cleanup: after #51 merged, this extractive_summary workload branch conflicts broadly across the shared workload registry/runner/validation/examples/tests. It should be regenerated on top of current main rather than manually forced through.

@Exohayvan Exohayvan closed this Jun 30, 2026
@Exohayvan
Exohayvan deleted the ai/next-step-20260630-074853 branch June 30, 2026 16:36
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