{
"schema_version": 3,
"export_version": "1.0.0",
"exported_at": "2026-01-29T00:00:00+00:00",
"exported_by": "task-graph-mcp template (browser-parallel)",
"tables": {
"tasks": [
{
"id": "bp-root",
"title": "Build a Web Browser (Parallel)",
"description": "Root task for a simulated web browser project. This parallel template organizes components for maximum concurrency: all implementation tasks run in parallel with fan-in at integration. Designed for swarm workflow testing with many generalist agents working simultaneously.",
"status": "pending",
"priority": 9,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": [],
"tags": ["project", "browser", "parallel"],
"points": null,
"time_estimate_ms": null,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700000000,
"updated_at": 1769700000000
},
{
"id": "bp-html-tokenizer",
"title": "HTML Tokenizer",
"description": "Implement an HTML5 tokenizer converting raw HTML into a token stream: start tags, end tags, self-closing tags, attributes, text content, comments, and doctype declarations. Handle character references and error recovery per the HTML5 spec.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["html", "parser", "tokenizer"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700001000,
"updated_at": 1769700001000
},
{
"id": "bp-html-tree-builder",
"title": "HTML Tree Builder",
"description": "Build the HTML tree construction stage consuming tokens from the tokenizer to produce a DOM tree. Handle implicit tag closures, foster parenting, formatting element reconstruction, and insertion modes (initial, before-html, before-head, in-head, in-body).",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["html", "parser", "dom"],
"points": 8,
"time_estimate_ms": 2400000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700002000,
"updated_at": 1769700002000
},
{
"id": "bp-css-tokenizer",
"title": "CSS Tokenizer",
"description": "Implement a CSS tokenizer producing tokens from CSS source: identifiers, functions, at-keywords, hashes, strings, numbers, dimensions, whitespace, and delimiters. Follow CSS Syntax Module Level 3 tokenization algorithm.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["css", "parser", "tokenizer"],
"points": 3,
"time_estimate_ms": 900000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700003000,
"updated_at": 1769700003000
},
{
"id": "bp-css-rule-parser",
"title": "CSS Rule Parser",
"description": "Parse CSS tokens into structured stylesheets: style rules with selectors and declaration blocks, at-rules (@media, @import, @font-face), selector specificity calculation, and shorthand property expansion (margin, padding, border, background).",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["css", "parser", "rules"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700004000,
"updated_at": 1769700004000
},
{
"id": "bp-css-selector-matching",
"title": "CSS Selector Matching",
"description": "Implement CSS selector matching against DOM elements: type, class, ID, and attribute selectors. Support pseudo-classes (:first-child, :hover, :focus), combinators (descendant, child, adjacent sibling), universal selector, specificity calculation, and cascade ordering.",
"status": "pending",
"priority": 6,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["css", "dom", "matching"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700005000,
"updated_at": 1769700005000
},
{
"id": "bp-css-style-computation",
"title": "Computed Style Resolution",
"description": "Implement cascade and computed style resolution: gather matching rules per element, sort by specificity and source order, apply inheritance for inherited properties, resolve relative units (em, rem, %) against parent values, and produce final ComputedStyle per element.",
"status": "pending",
"priority": 6,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["css", "style", "computation"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700006000,
"updated_at": 1769700006000
},
{
"id": "bp-js-lexer",
"title": "JavaScript Lexer",
"description": "Build a JavaScript lexer recognizing: identifiers, keywords, numeric literals (int, float, hex, binary, octal), string literals (single/double/template), regex literals, punctuators, and automatic semicolon insertion markers.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["javascript", "parser", "lexer"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700007000,
"updated_at": 1769700007000
},
{
"id": "bp-js-parser",
"title": "JavaScript Parser",
"description": "Implement a recursive descent JS parser producing an AST: variable declarations (var, let, const), function declarations/expressions, control flow (if/else, for, while, switch), object/array literals, member access, binary/unary operators, and arrow functions.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["javascript", "parser", "ast"],
"points": 8,
"time_estimate_ms": 2400000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700008000,
"updated_at": 1769700008000
},
{
"id": "bp-js-interpreter",
"title": "JavaScript Interpreter",
"description": "Build a tree-walking JS interpreter: environment/scope chains, variable binding (var hoisting, let/const block scope), function calls with closures, prototype-based object system, built-in types (String, Number, Boolean, Array, Object), and try/catch/finally.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["javascript", "interpreter", "runtime"],
"points": 13,
"time_estimate_ms": 3600000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700009000,
"updated_at": 1769700009000
},
{
"id": "bp-dom-tree",
"title": "DOM Tree Data Structure",
"description": "Define core DOM tree data structure: Node, Element, Text, Comment, Document types. Implement parent/child/sibling traversal, node insertion/removal, attribute access, and getElementById/getElementsByTagName queries.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["dom", "core", "data-structure"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700010000,
"updated_at": 1769700010000
},
{
"id": "bp-dom-api",
"title": "DOM API Bindings",
"description": "Expose DOM manipulation to JavaScript: document.getElementById, document.createElement, element.appendChild, element.setAttribute, element.innerHTML, element.style access, classList manipulation, and textContent/innerText.",
"status": "pending",
"priority": 6,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["javascript", "dom", "api", "bindings"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700011000,
"updated_at": 1769700011000
},
{
"id": "bp-layout-box-model",
"title": "Layout Box Model",
"description": "Implement CSS box model: content box, padding, border, and margin. Handle block-level and inline-level formatting contexts, width/height with auto margins, min/max constraints, and box-sizing (content-box vs border-box).",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["layout", "css", "box-model"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700012000,
"updated_at": 1769700012000
},
{
"id": "bp-layout-block",
"title": "Block Layout Algorithm",
"description": "Implement block layout: vertical stacking of block-level boxes, margin collapsing between siblings and parent-child, containing block resolution, static positioning for abs elements, and float interaction (clear property).",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["layout", "block", "algorithm"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700013000,
"updated_at": 1769700013000
},
{
"id": "bp-layout-inline",
"title": "Inline Layout and Text Shaping",
"description": "Implement inline layout: line box construction, inline box fragmentation across lines, text measurement and word wrapping, line-height and vertical-align, white-space handling (normal, nowrap, pre), and text-overflow (ellipsis).",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["layout", "inline", "text"],
"points": 8,
"time_estimate_ms": 2400000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700014000,
"updated_at": 1769700014000
},
{
"id": "bp-render-display-list",
"title": "Paint and Display List",
"description": "Generate a display list from the layout tree: paint commands for backgrounds, borders, text, images, and box shadows. Implement paint order (background, float, foreground layers), opacity handling, and overflow clipping.",
"status": "pending",
"priority": 6,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["rendering", "paint", "display-list"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700015000,
"updated_at": 1769700015000
},
{
"id": "bp-render-rasterizer",
"title": "Rasterizer",
"description": "Implement software rasterizer executing the display list onto a pixel buffer: rectangle fills, border drawing (solid, dashed, dotted), text rasterization via glyph bitmaps, image scaling/compositing, and anti-aliased edges.",
"status": "pending",
"priority": 6,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["rendering", "rasterizer", "graphics"],
"points": 8,
"time_estimate_ms": 2400000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700016000,
"updated_at": 1769700016000
},
{
"id": "bp-net-url-parser",
"title": "URL Parser",
"description": "Implement a URL parser handling HTTP/HTTPS schemes, host extraction, port parsing, path normalization, query string parsing, and fragment identifiers. Conform to WHATWG URL specification for basic cases.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["networking", "parser", "url"],
"points": 3,
"time_estimate_ms": 900000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700017000,
"updated_at": 1769700017000
},
{
"id": "bp-net-http-client",
"title": "HTTP Client",
"description": "Build an HTTP/1.1 client: GET and POST requests, response status codes, header parsing, redirect following, chunked transfer encoding, and basic keep-alive connections.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["networking", "http", "client"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700018000,
"updated_at": 1769700018000
},
{
"id": "bp-net-resource-loader",
"title": "Resource Loader",
"description": "Implement resource loading and caching: fetch CSS stylesheets from <link> tags, load <img> sources, execute <script> tags (inline and external), handle async/defer semantics, and implement basic in-memory resource cache.",
"status": "pending",
"priority": 6,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["networking", "resources", "loader", "cache"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700019000,
"updated_at": 1769700019000
},
{
"id": "bp-event-system",
"title": "Event System",
"description": "Implement DOM event system: Event interface, addEventListener/removeEventListener, event capturing and bubbling phases, stopPropagation/preventDefault, common event types (click, mouseover, keydown, load, DOMContentLoaded), and event loop integration.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["events", "dom", "javascript", "event-loop"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700020000,
"updated_at": 1769700020000
},
{
"id": "bp-event-loop",
"title": "Event Loop and Task Queue",
"description": "Implement the browser event loop: microtask queue (Promise callbacks), macrotask queue (setTimeout, setInterval), requestAnimationFrame scheduling, idle callbacks, and task prioritization. Handle script execution ordering and DOM mutation batching.",
"status": "pending",
"priority": 7,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["events", "event-loop", "scheduling", "async"],
"points": 5,
"time_estimate_ms": 1500000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700021000,
"updated_at": 1769700021000
},
{
"id": "bp-integration",
"title": "Full Pipeline Integration",
"description": "Wire all browser components into the complete page loading pipeline: URL resolution -> HTTP fetch -> HTML parsing -> resource discovery -> style computation -> layout -> paint -> display. Implement the main loop driving incremental rendering and script execution. Verify all component interfaces connect correctly. This is the fan-in task: blocked by ALL component tasks.",
"status": "pending",
"priority": 9,
"worker_id": null,
"claimed_at": null,
"needed_tags": [],
"wanted_tags": ["code"],
"tags": ["integration", "pipeline", "fan-in"],
"points": 13,
"time_estimate_ms": 3600000,
"time_actual_ms": null,
"started_at": null,
"completed_at": null,
"current_thought": null,
"cost_usd": 0.0,
"metrics": [0, 0, 0, 0, 0, 0, 0, 0],
"created_at": 1769700022000,
"updated_at": 1769700022000
}
],
"dependencies": [
{"from_task_id": "bp-root", "to_task_id": "bp-html-tokenizer", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-html-tree-builder", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-css-tokenizer", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-css-rule-parser", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-css-selector-matching", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-css-style-computation", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-js-lexer", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-js-parser", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-js-interpreter", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-dom-tree", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-dom-api", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-layout-box-model", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-layout-block", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-layout-inline", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-render-display-list", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-render-rasterizer", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-net-url-parser", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-net-http-client", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-net-resource-loader", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-event-system", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-event-loop", "dep_type": "contains"},
{"from_task_id": "bp-root", "to_task_id": "bp-integration", "dep_type": "contains"},
{"from_task_id": "bp-html-tokenizer", "to_task_id": "bp-html-tree-builder", "dep_type": "blocks"},
{"from_task_id": "bp-css-tokenizer", "to_task_id": "bp-css-rule-parser", "dep_type": "blocks"},
{"from_task_id": "bp-js-lexer", "to_task_id": "bp-js-parser", "dep_type": "blocks"},
{"from_task_id": "bp-js-parser", "to_task_id": "bp-js-interpreter", "dep_type": "blocks"},
{"from_task_id": "bp-dom-tree", "to_task_id": "bp-dom-api", "dep_type": "blocks"},
{"from_task_id": "bp-dom-tree", "to_task_id": "bp-css-selector-matching", "dep_type": "blocks"},
{"from_task_id": "bp-css-rule-parser", "to_task_id": "bp-css-selector-matching", "dep_type": "blocks"},
{"from_task_id": "bp-css-selector-matching", "to_task_id": "bp-css-style-computation", "dep_type": "blocks"},
{"from_task_id": "bp-css-style-computation", "to_task_id": "bp-layout-box-model", "dep_type": "blocks"},
{"from_task_id": "bp-layout-box-model", "to_task_id": "bp-layout-block", "dep_type": "blocks"},
{"from_task_id": "bp-layout-box-model", "to_task_id": "bp-layout-inline", "dep_type": "blocks"},
{"from_task_id": "bp-layout-block", "to_task_id": "bp-render-display-list", "dep_type": "blocks"},
{"from_task_id": "bp-layout-inline", "to_task_id": "bp-render-display-list", "dep_type": "blocks"},
{"from_task_id": "bp-render-display-list", "to_task_id": "bp-render-rasterizer", "dep_type": "blocks"},
{"from_task_id": "bp-net-url-parser", "to_task_id": "bp-net-http-client", "dep_type": "blocks"},
{"from_task_id": "bp-net-http-client", "to_task_id": "bp-net-resource-loader", "dep_type": "blocks"},
{"from_task_id": "bp-html-tree-builder", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-css-style-computation", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-js-interpreter", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-dom-api", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-layout-block", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-layout-inline", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-render-rasterizer", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-net-resource-loader", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-event-system", "to_task_id": "bp-integration", "dep_type": "blocks"},
{"from_task_id": "bp-event-loop", "to_task_id": "bp-integration", "dep_type": "blocks"}
],
"task_tags": [
{"task_id": "bp-root", "tag": "project"},
{"task_id": "bp-root", "tag": "browser"},
{"task_id": "bp-root", "tag": "parallel"},
{"task_id": "bp-html-tokenizer", "tag": "html"},
{"task_id": "bp-html-tokenizer", "tag": "parser"},
{"task_id": "bp-html-tokenizer", "tag": "tokenizer"},
{"task_id": "bp-html-tree-builder", "tag": "html"},
{"task_id": "bp-html-tree-builder", "tag": "parser"},
{"task_id": "bp-html-tree-builder", "tag": "dom"},
{"task_id": "bp-css-tokenizer", "tag": "css"},
{"task_id": "bp-css-tokenizer", "tag": "parser"},
{"task_id": "bp-css-tokenizer", "tag": "tokenizer"},
{"task_id": "bp-css-rule-parser", "tag": "css"},
{"task_id": "bp-css-rule-parser", "tag": "parser"},
{"task_id": "bp-css-rule-parser", "tag": "rules"},
{"task_id": "bp-css-selector-matching", "tag": "css"},
{"task_id": "bp-css-selector-matching", "tag": "dom"},
{"task_id": "bp-css-selector-matching", "tag": "matching"},
{"task_id": "bp-css-style-computation", "tag": "css"},
{"task_id": "bp-css-style-computation", "tag": "style"},
{"task_id": "bp-css-style-computation", "tag": "computation"},
{"task_id": "bp-js-lexer", "tag": "javascript"},
{"task_id": "bp-js-lexer", "tag": "parser"},
{"task_id": "bp-js-lexer", "tag": "lexer"},
{"task_id": "bp-js-parser", "tag": "javascript"},
{"task_id": "bp-js-parser", "tag": "parser"},
{"task_id": "bp-js-parser", "tag": "ast"},
{"task_id": "bp-js-interpreter", "tag": "javascript"},
{"task_id": "bp-js-interpreter", "tag": "interpreter"},
{"task_id": "bp-js-interpreter", "tag": "runtime"},
{"task_id": "bp-dom-tree", "tag": "dom"},
{"task_id": "bp-dom-tree", "tag": "core"},
{"task_id": "bp-dom-tree", "tag": "data-structure"},
{"task_id": "bp-dom-api", "tag": "javascript"},
{"task_id": "bp-dom-api", "tag": "dom"},
{"task_id": "bp-dom-api", "tag": "api"},
{"task_id": "bp-dom-api", "tag": "bindings"},
{"task_id": "bp-layout-box-model", "tag": "layout"},
{"task_id": "bp-layout-box-model", "tag": "css"},
{"task_id": "bp-layout-box-model", "tag": "box-model"},
{"task_id": "bp-layout-block", "tag": "layout"},
{"task_id": "bp-layout-block", "tag": "block"},
{"task_id": "bp-layout-block", "tag": "algorithm"},
{"task_id": "bp-layout-inline", "tag": "layout"},
{"task_id": "bp-layout-inline", "tag": "inline"},
{"task_id": "bp-layout-inline", "tag": "text"},
{"task_id": "bp-render-display-list", "tag": "rendering"},
{"task_id": "bp-render-display-list", "tag": "paint"},
{"task_id": "bp-render-display-list", "tag": "display-list"},
{"task_id": "bp-render-rasterizer", "tag": "rendering"},
{"task_id": "bp-render-rasterizer", "tag": "rasterizer"},
{"task_id": "bp-render-rasterizer", "tag": "graphics"},
{"task_id": "bp-net-url-parser", "tag": "networking"},
{"task_id": "bp-net-url-parser", "tag": "parser"},
{"task_id": "bp-net-url-parser", "tag": "url"},
{"task_id": "bp-net-http-client", "tag": "networking"},
{"task_id": "bp-net-http-client", "tag": "http"},
{"task_id": "bp-net-http-client", "tag": "client"},
{"task_id": "bp-net-resource-loader", "tag": "networking"},
{"task_id": "bp-net-resource-loader", "tag": "resources"},
{"task_id": "bp-net-resource-loader", "tag": "loader"},
{"task_id": "bp-net-resource-loader", "tag": "cache"},
{"task_id": "bp-event-system", "tag": "events"},
{"task_id": "bp-event-system", "tag": "dom"},
{"task_id": "bp-event-system", "tag": "javascript"},
{"task_id": "bp-event-system", "tag": "event-loop"},
{"task_id": "bp-event-loop", "tag": "events"},
{"task_id": "bp-event-loop", "tag": "event-loop"},
{"task_id": "bp-event-loop", "tag": "scheduling"},
{"task_id": "bp-event-loop", "tag": "async"},
{"task_id": "bp-integration", "tag": "integration"},
{"task_id": "bp-integration", "tag": "pipeline"},
{"task_id": "bp-integration", "tag": "fan-in"}
],
"attachments": [],
"task_needed_tags": [],
"task_wanted_tags": [
{"task_id": "bp-html-tokenizer", "tag": "code"},
{"task_id": "bp-html-tree-builder", "tag": "code"},
{"task_id": "bp-css-tokenizer", "tag": "code"},
{"task_id": "bp-css-rule-parser", "tag": "code"},
{"task_id": "bp-css-selector-matching", "tag": "code"},
{"task_id": "bp-css-style-computation", "tag": "code"},
{"task_id": "bp-js-lexer", "tag": "code"},
{"task_id": "bp-js-parser", "tag": "code"},
{"task_id": "bp-js-interpreter", "tag": "code"},
{"task_id": "bp-dom-tree", "tag": "code"},
{"task_id": "bp-dom-api", "tag": "code"},
{"task_id": "bp-layout-box-model", "tag": "code"},
{"task_id": "bp-layout-block", "tag": "code"},
{"task_id": "bp-layout-inline", "tag": "code"},
{"task_id": "bp-render-display-list", "tag": "code"},
{"task_id": "bp-render-rasterizer", "tag": "code"},
{"task_id": "bp-net-url-parser", "tag": "code"},
{"task_id": "bp-net-http-client", "tag": "code"},
{"task_id": "bp-net-resource-loader", "tag": "code"},
{"task_id": "bp-event-system", "tag": "code"},
{"task_id": "bp-event-loop", "tag": "code"},
{"task_id": "bp-integration", "tag": "code"}
],
"task_sequence": []
}
}