Skip to content

Fix broken links: repair PDF CI/CD pipeline and fix FEATURE_COMPARISON.md reference#218

Merged
konard merged 4 commits intomainfrom
issue-217-c1c06cbe0168
Feb 27, 2026
Merged

Fix broken links: repair PDF CI/CD pipeline and fix FEATURE_COMPARISON.md reference#218
konard merged 4 commits intomainfrom
issue-217-c1c06cbe0168

Conversation

@konard
Copy link
Member

@konard konard commented Feb 27, 2026

Summary

Fixes #217 — Two broken links found in project documentation.

Root Cause Analysis

Broken Link 1: FEATURE_COMPARISON.md

Root cause: Inconsistent update when deleting the file.

  • FEATURE_COMPARISON.md was created Sep 10, 2025 (commit `a3ea131`) as a comparison of YAML/XML/JSON/LINO formats
  • It was intentionally deleted Nov 16, 2025 (commit `1ee4eca`, "Remove redundant analysis files")
  • `README.md` (English) was correctly updated to point to `TEST_CASE_COMPARISON.md`
  • `README.ru.md` (Russian) was not updated — still pointed to the deleted file

Fix: Updated `README.ru.md` to link to `TEST_CASE_COMPARISON.md` (consistent with `README.md`).

Broken Link 2: `Link.Foundation.Links.Notation.pdf`

Root cause: Three compounding problems in the CI/CD pipeline:

  1. Wrong directory paths in PDF generation script: `format-csharp-document.sh` looks for `./csharp/Platform.$REPOSITORY_NAME/` which doesn't exist — actual directory is `Link.Foundation.Links.Notation/`
  2. Wrong PDF filename: `generate-csharp-pdf.sh` produces `Platform.links-notation.pdf` but documentation links to `Link.Foundation.Links.Notation.pdf`
  3. No artifact sharing between CI jobs: `generatePdfWithCode` and `publishDocumentation` are separate jobs with no artifact upload/download, so the PDF was never included in the deployed documentation

Evidence from CI run `20053077913` (2025-12-09):
```
find: './csharp/Platform.links-notation': No such file or directory
```

Fix: Repaired the entire PDF pipeline in `.github/workflows/csharp.yml`:

  1. Patched `format-csharp-document.sh` to use correct directory paths (`Link.Foundation.Links.Notation`)
  2. Patched `generate-csharp-pdf.sh` to produce `Link.Foundation.Links.Notation.pdf`
  3. Added artifact upload after `generatePdfWithCode` job (`actions/upload-artifact@v4`)
  4. Added artifact download in `publishDocumentation` job (`actions/download-artifact@v4`)
  5. Added PDF copy into DocFX `_site/` output before deployment
  6. Restored PDF documentation links in all documentation files

Files Changed

File Change
`.github/workflows/csharp.yml` Fixed PDF generation paths, filename, and added artifact upload/download
`README.md` Restored PDF documentation link
`README.ru.md` Replaced dead `FEATURE_COMPARISON.md` link with `TEST_CASE_COMPARISON.md`; restored PDF link
`docs/website/index.html` Restored PDF documentation link
`docs/website/dist/index.html` Restored PDF documentation link
`docs/case-studies/issue-217/README.md` Updated case study to reflect full CI/CD fix

Case Study

Full root cause analysis is documented at `docs/case-studies/issue-217/README.md`.

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #217
@konard konard self-assigned this Feb 27, 2026
Fixes #217

**Broken links fixed:**

1. `README.ru.md`: Removed dead link to `FEATURE_COMPARISON.md` (deleted
   in commit 1ee4eca). Replaced with link to existing `TEST_CASE_COMPARISON.md`,
   consistent with the English `README.md`.

2. `README.md`, `README.ru.md`, `docs/website/index.html`,
   `docs/website/dist/index.html`: Removed broken PDF link
   `Link.Foundation.Links.Notation.pdf` which never existed on GitHub Pages.
   In `docs/website/*.html`: replaced with working C# API documentation link.

**Root cause analysis:**

- `FEATURE_COMPARISON.md` was intentionally deleted in Nov 2025 but the
  Russian README was not updated consistently.
- The PDF (`Link.Foundation.Links.Notation.pdf`) was never deployed to
  GitHub Pages after the repository migration from `linksplatform/Protocols.Lino`
  to `link-foundation/links-notation`. The PDF generation script uses
  `Platform.$REPOSITORY_NAME.pdf` naming which doesn't match the new C#
  namespace, and the generated artifact is not shared with the documentation
  deployment job.

**Case study:**

Added comprehensive root cause analysis at
`docs/case-studies/issue-217/README.md` with:
- Full timeline of events for both broken links
- CI log evidence (saved to `docs/case-studies/issue-217/ci-logs/`)
- Proposed short-term and long-term solutions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@konard konard changed the title [WIP] Broken links Fix broken links and add issue-217 case study Feb 27, 2026
@konard konard marked this pull request as ready for review February 27, 2026 12:52
@konard
Copy link
Member Author

konard commented Feb 27, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $3.350272
  • Calculated by Anthropic: $2.732146 USD
  • Difference: $-0.618127 (-18.45%)
    📎 Log file uploaded as Gist (3197KB)
    🔗 View complete solution draft log

Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
Copy link
Member Author

konard commented Feb 27, 2026

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@konard
Copy link
Member Author

konard commented Feb 27, 2026

Instead of removing Link.Foundation.Links.Notation.pdf link, we should ensure it actually get's built in our CI/CD.

@konard konard marked this pull request as draft February 27, 2026 13:22
@konard
Copy link
Member Author

konard commented Feb 27, 2026

🤖 AI Work Session Started

Starting automated work session at 2026-02-27T13:22:15.606Z

The PR has been converted to draft mode while work is in progress.

This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback.

…otation.pdf

Implements the full fix for broken PDF documentation link (#217):

1. Fix path resolution in format-csharp-document.sh:
   - Patch `./csharp/Platform.$REPOSITORY_NAME` references to use
     `./Link.Foundation.Links.Notation` (the actual project directory)

2. Fix PDF output filename in generate-csharp-pdf.sh:
   - Patch output to produce `Link.Foundation.Links.Notation.pdf`
     instead of `Platform.links-notation.pdf`

3. Add artifact sharing between CI jobs:
   - Upload PDF as `csharp-pdf` artifact after generatePdfWithCode
   - Download artifact in publishDocumentation job
   - Copy PDF into `_site/` after DocFX generates documentation

4. Restore PDF documentation links:
   - README.md, README.ru.md, docs/website/index.html,
     docs/website/dist/index.html

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@konard konard changed the title Fix broken links and add issue-217 case study Fix broken links: repair PDF CI/CD pipeline and fix FEATURE_COMPARISON.md reference Feb 27, 2026
@konard konard marked this pull request as ready for review February 27, 2026 13:30
@konard
Copy link
Member Author

konard commented Feb 27, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $1.634354
  • Calculated by Anthropic: $1.835851 USD
  • Difference: $0.201497 (+12.33%)
    📎 Log file uploaded as Gist (1992KB)
    🔗 View complete solution draft log

Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard konard merged commit a112c0a into main Feb 27, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Broken links

1 participant