Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/lib/pipeline/collect.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ describe('collect', () => {
itemCount: 2,
candidateCount: 2,
});
expect(result.meta.collector.automaticSourceCount).toBe(57);
expect(result.meta.collector.automaticSourceCount).toBe(63);
expect(result.meta.collector.manualSourceCount).toBe(1);
expect(result.errors).toEqual([]);
});
Expand Down
96 changes: 87 additions & 9 deletions src/lib/pipeline/sources.ts
Original file line number Diff line number Diff line change
Expand Up @@ -319,30 +319,28 @@ export const WATCH_SOURCES: WatchSource[] = [
name: 'House of Representatives — new committee inquiries',
jurisdiction: 'federal',
category: 'government',
url: 'https://www.aph.gov.au/house/rss/house_inquiries',
kind: 'rss',
url: 'https://www.aph.gov.au/Parliamentary_Business/Committees/House/Current_Inquiries',
kind: 'document',
schedule: 'daily',
enabled: true,
automation: 'automatic',
fetchStrategy: 'browser',
minimumItemCount: 1,
notes:
'Official House RSS feed for newly referred committee inquiries; APH returns 403 to plain HTTP clients. The official new-inquiries index retains current referrals, so a zero-item feed is treated as degraded rather than fresh coverage.',
'Current House committee inquiries listing. The old /house/rss/house_inquiries endpoint still serves valid RSS but has carried zero items while the senate feed retains 33 current referrals — an abandoned husk, verified 2026-08-08. The HTML listing is behind APH bot protection, so retrieval goes through the browser path. The listing markup exposes no extractable entries to the allow-listed structures, so the page is watched for content changes instead, like nsw-sc-practice-notes.',
},
{
id: 'joint-new-inquiries',
name: 'Parliamentary joint committees — new inquiries',
jurisdiction: 'federal',
category: 'government',
url: 'https://www.aph.gov.au/house/rss/joint_inquiries',
kind: 'rss',
url: 'https://www.aph.gov.au/Parliamentary_Business/Committees/Joint/Current_Inquiries',
kind: 'document',
schedule: 'daily',
enabled: true,
automation: 'automatic',
fetchStrategy: 'browser',
minimumItemCount: 1,
notes:
'Official joint-committee RSS feed for newly referred inquiries; APH returns 403 to plain HTTP clients. The official new-inquiries index retains current referrals, so a zero-item feed is treated as degraded rather than fresh coverage.',
'Current joint-committee inquiries listing. The old /house/rss/joint_inquiries endpoint serves valid but permanently empty RSS, verified 2026-08-08 — same abandoned husk as house-new-inquiries. HTML listing is bot-protected, so retrieval goes through the browser path. The listing markup exposes no extractable entries to the allow-listed structures, so the page is watched for content changes instead, like nsw-sc-practice-notes.',
},
{
id: 'aph-bills-digests',
Expand Down Expand Up @@ -614,6 +612,86 @@ export const WATCH_SOURCES: WatchSource[] = [
notes:
'Practice notes including generative-AI usage directions; the directory markup exposes no extractable entries, so the page is watched for content changes. The host rejects plain HTTP clients.',
},
{
id: 'art-practice-directions',
name: 'Administrative Review Tribunal — practice directions',
jurisdiction: 'federal',
category: 'court',
url: 'https://www.art.gov.au/help-and-resources/professionals-and-practitioners/practice-directions-and-other-guidance',
kind: 'document',
schedule: 'weekly',
enabled: true,
automation: 'automatic',
fetchStrategy: 'browser',
notes:
'The federal merits-review tribunal, successor to the AAT and a likely venue for automated-decision-making guidance. The host resets plain HTTP/2 clients, so retrieval goes through the browser path.',
},
{
id: 'wa-sc-practice-directions',
name: 'WA Supreme Court — practice directions',
jurisdiction: 'wa',
category: 'court',
url: 'https://www.supremecourt.wa.gov.au/P/practice_directions.aspx',
kind: 'document',
schedule: 'weekly',
enabled: true,
automation: 'automatic',
notes:
'Consolidated practice directions index, watched for content changes. Plain HTTP verified 2026-08-08.',
},
{
id: 'sa-courts-news',
name: 'SA Courts Administration Authority — news',
jurisdiction: 'sa',
category: 'court',
url: 'https://www.courts.sa.gov.au/feed',
kind: 'rss',
schedule: 'daily',
enabled: true,
automation: 'automatic',
notes:
'CAA announcements feed. Carried the December 2025 guidelines on generative AI in South Australian litigation (in force 1 January 2026), which pre-dated this source and were missed. Plain HTTP RSS verified 2026-08-08.',
},
{
id: 'act-sc-practice-directions',
name: 'ACT Supreme Court — practice directions',
jurisdiction: 'act',
category: 'court',
url: 'https://www.courts.act.gov.au/supreme/law-and-practice/practice-notes-and-directions-and-notices-to-practitioners/practice-directions',
kind: 'document',
schedule: 'weekly',
enabled: true,
automation: 'automatic',
notes:
'Practice directions index, watched for content changes. Plain HTTP verified 2026-08-08.',
},
{
id: 'tas-sc-practice-directions',
name: 'Tasmanian Supreme Court — practice directions',
jurisdiction: 'tas',
category: 'court',
url: 'https://www.supremecourt.tas.gov.au/publications/directions',
kind: 'document',
schedule: 'weekly',
enabled: true,
automation: 'automatic',
notes:
'Practice directions index, watched for content changes. Plain HTTP verified 2026-08-08.',
},
{
id: 'nt-sc-practice-directions',
name: 'NT Supreme Court — practice directions',
jurisdiction: 'nt',
category: 'court',
url: 'https://supremecourt.nt.gov.au/lawyers/practice-directions',
kind: 'document',
schedule: 'weekly',
enabled: true,
automation: 'automatic',
fetchStrategy: 'browser',
notes:
'Practice directions index, watched for content changes. The host returns 403 to plain HTTP clients, so retrieval goes through the browser path.',
},
{
id: 'nsw-sc-practice-notes',
name: 'NSW Supreme Court — practice notes',
Expand Down Expand Up @@ -770,7 +848,7 @@ export const WATCH_SOURCES: WatchSource[] = [
automation: 'automatic',
fetchStrategy: 'browser',
notes:
'Whole-of-government Queensland announcements; the statements list is client-rendered without extractable entries, so the page is watched for content changes.',
'Whole-of-government Queensland announcements; the statements list is client-rendered without extractable entries, so the page is watched for content changes. The server omits its TLS intermediate (GeoTrust TLS RSA CA G1), which desktop browsers repair via AIA fetching but headless clients cannot; the collector host supplies the public intermediate through NODE_EXTRA_CA_CERTS.',
},
{
id: 'wa-media-statements',
Expand Down
Loading