Task `playwright_render_feed` v1

Deterministic rendering of a unified feed (array of UnifiedItem wire objects, typically after process_unified_feed) into Markdown, JSON, or JSONL for human review or downstream tooling. Applies truncation, ordering, and…

Updated

Task playwright_render_feed v1

Summary

Deterministic rendering of a unified feed (array of UnifiedItem wire objects, typically after process_unified_feed) into Markdown, JSON, or JSONL for human review or downstream tooling. Applies truncation, ordering, and secret redaction via ViewerOptions; does not contact enterprise systems or a Playwright session.

Read-only policy

This task only formats in-memory items. It must not emit cookies, tokens, storage state, or raw auth material. raw_ref values that match secret patterns are redacted in output.

Inputs

Field Type Required Notes
items array yes Wire UnifiedItem objects (schema_version "1").
format string yes One of markdown, json, jsonl.
options object no Viewer options: sort_newest_first, max_title_chars, max_body_preview_chars, max_body_text_chars, include_body_text, feed_warnings.

Output

Field Type Required Notes
schema_version string yes Must be "1".
format string yes Echo of requested format.
content string yes Rendered document body.
item_count integer yes Number of items rendered.
warnings array no Feed-level warnings echoed when provided.

Examples

Markdown render of one item:

{
  "items": [
    {
      "schema_version": "1",
      "item_id": "outlook:msg-1",
      "source_system": "outlook",
      "item_type": "message",
      "source_kind": "inbox",
      "title": "Status"
    }
  ],
  "format": "markdown"
}
{
  "schema_version": "1",
  "format": "markdown",
  "content": "# Unified feed\n\n_1 item(s)._\n\n",
  "item_count": 1,
  "warnings": []
}

Failure modes

Kind When
invalid_query Unknown format or empty/invalid items entries.
parse_failed Item wire dict missing required unified fields.

SchemaFailure when output does not match contract.json output_schema.

Verification

  • Validate input items[] minimal unified shape before render.
  • Validate output against contract.json output_schema.
  • Rendered content must not contain redacted secret patterns from raw_ref or provenance details.

Skipped-live behavior

  • Fully offline: no session, network, or credentials. Uses in-memory wire dicts and fakes only.
  • No playwright_live marker required.

Changelog

  • v1 — Initial unified feed render contract.