Skip to content

Commit 3317104

Browse files
authored
Merge branch 'main' into repo-assist/test-tomd-table-html-2026-04-24-4780fc0504066a65
2 parents e27df55 + 07eb033 commit 3317104

9 files changed

Lines changed: 398 additions & 144 deletions

File tree

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"rollForward": false
1818
},
1919
"dotnet-repl": {
20-
"version": "0.3.250",
20+
"version": "0.3.259",
2121
"commands": [
2222
"dotnet-repl"
2323
],

.github/aw/actions-lock.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@
88
"actions/github-script@v9.0.0": {
99
"repo": "actions/github-script",
1010
"version": "v9.0.0",
11-
"sha": "d746ffe35508b1917358783b479e04febd2b8f71"
11+
"sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
1212
},
13-
"github/gh-aw-actions/setup@v0.68.3": {
13+
"github/gh-aw-actions/setup@v0.71.5": {
1414
"repo": "github/gh-aw-actions/setup",
15-
"version": "v0.68.3",
16-
"sha": "ba90f2186d7ad780ec640f364005fa24e797b360"
15+
"version": "v0.71.5",
16+
"sha": "b8068426813005612b960b5ab0b8bd2c27142323"
1717
},
18-
"github/gh-aw/actions/setup@v0.68.7": {
18+
"github/gh-aw/actions/setup@v0.71.5": {
1919
"repo": "github/gh-aw/actions/setup",
20-
"version": "v0.68.7",
21-
"sha": "f916d5de5199f770e46151d455ab1f0288981cc9"
20+
"version": "v0.71.5",
21+
"sha": "19ac811a4a85389c33b15128e1d7b7d4507f814a"
2222
}
2323
},
2424
"containers": {

.github/workflows/push-main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
force_orphan: true
6060
- name: Obtain NuGet key
6161
# this hash is v1.1.0
62-
uses: NuGet/login@d22cc5f58ff5b88bf9bd452535b4335137e24544
62+
uses: NuGet/login@8d196754b4036150537f80ac539e15c2f1028841
6363
id: login
6464
with:
6565
user: dsyme

.github/workflows/repo-assist.lock.yml

Lines changed: 356 additions & 125 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/repo-assist.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ description: |
1414
Always polite, constructive, and mindful of the project's goals.
1515
1616
on:
17-
schedule: daily
17+
schedule: every 2d
1818
workflow_dispatch:
1919
slash_command:
2020
name: repo-assist
@@ -176,7 +176,7 @@ steps:
176176
json.dump(result, f, indent=2)
177177
EOF
178178
179-
source: githubnext/agentics/workflows/repo-assist.md@96b9d4c39aa22359c0b38265927eadb31dcf4e2a
179+
source: githubnext/agentics/workflows/repo-assist.md@fc4ab36dedc44e2a1cdc195cecce262f06c81230
180180
---
181181

182182
# Repo Assist
@@ -220,7 +220,20 @@ Read memory at the **start** of every run; update it at the **end**.
220220

221221
Each run, the deterministic pre-step collects live repo data (open issue count, unlabelled issue count, open Repo Assist PRs, other open PRs), computes a **weighted probability** for each task, and selects **two tasks** for this run using a seeded random draw. The weights and selected tasks are printed in the workflow logs. You will find the selection in `/tmp/gh-aw/task_selection.json`.
222222

223-
**Read the task selection**: at the start of your run, read `/tmp/gh-aw/task_selection.json` and confirm the two selected tasks in your opening reasoning. Execute **those two tasks** (plus the mandatory Task 11). If there's really nothing to do for a selected task, do not force yourself to do it - try any other different task instead that looks most useful.
223+
**Read the task selection**: at the start of your run, read `/tmp/gh-aw/task_selection.json` and confirm the two selected tasks in your opening reasoning. Execute **those two tasks** (plus the mandatory Task 11). If a selected task is not applicable to the current repo state, substitute its fallback task rather than doing nothing. Record the substitution in the Task 11 run history entry.
224+
225+
| Selected task | Not applicable when… | Fallback |
226+
|---|---|---|
227+
| Task 1 (Issue Labelling) | All open issues already labelled | Task 2 |
228+
| Task 2 (Issue Comment) | All open issues already have a recent Repo Assist comment and no new human activity | Task 1 |
229+
| Task 3 (Issue Fix) | No issues labelled `bug`, `help wanted`, or `good first issue` that are fixable | Task 2 |
230+
| Task 4 (Engineering Investments) | No actionable dependency updates, CI gaps, or build improvements identifiable | Task 5 |
231+
| Task 5 (Coding Improvements) | No clearly beneficial, low-risk improvements identifiable after reviewing the codebase | Task 9 |
232+
| Task 6 (Maintain Repo Assist PRs) | No open Repo Assist PRs exist | Task 2 |
233+
| Task 7 (Stale PR Nudges) | No non-Repo-Assist PRs stale 14+ days, or all already nudged | Task 2 |
234+
| Task 8 (Performance Improvements) | No measurable performance opportunities identifiable | Task 9 |
235+
| Task 9 (Testing Improvements) | Test coverage is already comprehensive and no gaps identified | Task 5 |
236+
| Task 10 (Take Repo Forward) | In-progress work from memory is blocked or complete; no valuable next step | Task 2 |
224237

225238
The weighting scheme naturally adapts to repo state:
226239

Directory.Packages.props

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
</PropertyGroup>
77
<ItemGroup>
88
<!-- locking the version of F# Core as FCS does this anyway and in practise all will be using the same version -->
9-
<PackageVersion Include="FSharp.Core" Version="[10.1.202]" />
10-
<PackageVersion Include="FSharp.Compiler.Service" Version="[43.12.202]" />
9+
<PackageVersion Include="FSharp.Core" Version="[10.1.203]" />
10+
<PackageVersion Include="FSharp.Compiler.Service" Version="[43.12.203]" />
1111
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
1212
<PackageVersion Include="Microsoft.Build" Version="" PrivateAssets="all" />
1313
<PackageVersion Include="Microsoft.Build.Framework" Version="" PrivateAssets="all" />
@@ -17,11 +17,11 @@
1717
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
1818
<PackageVersion Include="Suave" Version="2.6.2" />
1919
<PackageVersion Include="System.Memory" Version="4.6.3" />
20-
<PackageVersion Include="System.Text.Json" Version="10.0.6" />
20+
<PackageVersion Include="System.Text.Json" Version="10.0.7" />
2121
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.7.0" />
22-
<PackageVersion Include="NUnit" Version="4.5.1" />
22+
<PackageVersion Include="NUnit" Version="4.6.0" />
2323
<PackageVersion Include="FsUnit" Version="7.1.1" />
24-
<PackageVersion Include="FSharp.Data" Version="8.1.10" />
24+
<PackageVersion Include="FSharp.Data" Version="8.1.11" />
2525
<PackageVersion Include="NUnit3TestAdapter" Version="6.2.0" />
2626
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.4.0" />
2727
<PackageVersion Include="Ionide.KeepAChangelog.Tasks" Version="0.3.3" />

RELEASE_NOTES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
* Fix `Markdown.ToMd` serialising `HorizontalRule` as 23 hyphens regardless of the character used in the source. It now emits exactly three characters matching the parsed character (`---`, `***`, or `___`), giving faithful round-trips.
1818
* Remove stray `printfn` debug output emitted to stdout when `Markdown.ToMd` encountered an unrecognised paragraph type.
1919
* Fix `Markdown.ToLatex` producing invalid LaTeX output for level-6 (and deeper) headings. Previously the LaTeX command was an empty string, resulting in bare `{content}` without a command prefix. Headings at level 6+ are now serialised as `\subparagraph{...}`, which is the deepest sectioning command available in LaTeX.
20+
* Fix `Markdown.ToMd` serialising unresolved indirect links as `[body](key)` (treating the reference key as a URL) instead of the correct `[body][key]` form. Unresolved indirect links are now preserved in their original indirect-reference form, consistent with how unresolved indirect images are handled.
2021

2122
### Added
2223
* Add tests for `Markdown.ToFsx` (direct serialisation to F# script format), which previously had no unit test coverage.

src/FSharp.Formatting.Markdown/MarkdownUtils.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ module internal MarkdownUtils =
113113

114114
"[" + formatSpans ctx body + "](" + link + t + ")"
115115

116-
| IndirectLink(body, _, LookupKey ctx.Links (link, _), _)
117-
| IndirectLink(body, link, _, _) -> "[" + formatSpans ctx body + "](" + link + ")"
116+
| IndirectLink(body, _, LookupKey ctx.Links (link, _), _) -> "[" + formatSpans ctx body + "](" + link + ")"
117+
| IndirectLink(body, _, key, _) -> "[" + formatSpans ctx body + "][" + key + "]"
118118

119119
| IndirectImage(body, _, LookupKey ctx.Links (link, _), _) -> sprintf "![%s](%s)" body link
120120
| IndirectImage(body, _, key, _) -> sprintf "![%s][%s]" body key

tests/FSharp.Markdown.Tests/Markdown.fs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1468,6 +1468,15 @@ let ``ToMd preserves an indirect link when key is not resolved`` () =
14681468
result |> should contain "[link text]"
14691469
result |> should contain "https://example.com"
14701470

1471+
[<Test>]
1472+
let ``ToMd preserves indirect link form when key is unresolved`` () =
1473+
// No reference definition → key cannot be resolved; should preserve [body][key] form
1474+
let input = "[link text][unknown-ref]"
1475+
let doc = Markdown.Parse(input)
1476+
let result = Markdown.ToMd(doc)
1477+
// Should preserve the indirect reference form, not produce a broken direct link
1478+
result |> should contain "[link text][unknown-ref]"
1479+
14711480
// --------------------------------------------------------------------------------------
14721481
// ToMd round-trip: indirect images (issue - failwith "tbd - IndirectImage")
14731482
// --------------------------------------------------------------------------------------

0 commit comments

Comments
 (0)