Handbook
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.jsonoutput_schema. - Rendered
contentmust not contain redacted secret patterns fromraw_refor provenance details.
Skipped-live behavior
- Fully offline: no session, network, or credentials. Uses in-memory wire dicts and fakes only.
- No
playwright_livemarker required.
Changelog
- v1 — Initial unified feed render contract.