@@ -355,3 +355,49 @@ dun:
355355 t .Fatalf ("expected invalid issue, got %#v" , graph .Issues )
356356 }
357357}
358+
359+ func TestBuildDocGraphSkipsParkingLotDocs (t * testing.T ) {
360+ root := t .TempDir ()
361+ parkedDir := filepath .Join (root , "docs" , "helix" , "02-design" , "adr" )
362+ if err := os .MkdirAll (parkedDir , 0755 ); err != nil {
363+ t .Fatalf ("mkdir parked dir: %v" , err )
364+ }
365+ activeDir := filepath .Join (root , "docs" , "helix" , "01-frame" )
366+ if err := os .MkdirAll (activeDir , 0755 ); err != nil {
367+ t .Fatalf ("mkdir active dir: %v" , err )
368+ }
369+
370+ parked := `---
371+ dun:
372+ id: ADR-008
373+ parking_lot: true
374+ depends_on:
375+ - PRD-001
376+ ---
377+ # Parked ADR
378+ `
379+ if err := os .WriteFile (filepath .Join (parkedDir , "ADR-008-parked.md" ), []byte (parked ), 0644 ); err != nil {
380+ t .Fatalf ("write parked: %v" , err )
381+ }
382+
383+ active := `---
384+ dun:
385+ id: PRD-001
386+ ---
387+ # PRD
388+ `
389+ if err := os .WriteFile (filepath .Join (activeDir , "prd.md" ), []byte (active ), 0644 ); err != nil {
390+ t .Fatalf ("write active: %v" , err )
391+ }
392+
393+ graph , err := buildDocGraph (root )
394+ if err != nil {
395+ t .Fatalf ("build graph: %v" , err )
396+ }
397+ if _ , ok := graph .Nodes ["ADR-008" ]; ok {
398+ t .Fatalf ("expected parking lot doc to be skipped" )
399+ }
400+ if _ , ok := graph .Nodes ["PRD-001" ]; ! ok {
401+ t .Fatalf ("expected active doc to be included" )
402+ }
403+ }
0 commit comments