diff --git a/libcxx/docs/Helpers/Styles.rst b/libcxx/docs/Helpers/Styles.rst
--- a/libcxx/docs/Helpers/Styles.rst
+++ b/libcxx/docs/Helpers/Styles.rst
@@ -1,6 +1,8 @@
.. raw:: html
+.. role:: notstarted
.. role:: nothingtodo
.. role:: inprogress
+.. role:: inreview
.. role:: partial
.. role:: complete
-
+.. |Not Started| replace:: :notstarted:`Not Started`
.. |Nothing To Do| replace:: :nothingtodo:`Nothing To Do`
.. |In Progress| replace:: :inprogress:`In Progress`
+.. |Review| replace:: :inreview:`Review`
.. |Partial| replace:: :partial:`Partial`
.. |Complete| replace:: :complete:`Complete`
diff --git a/libcxx/docs/Status/FormatIssues.csv b/libcxx/docs/Status/FormatIssues.csv
--- a/libcxx/docs/Status/FormatIssues.csv
+++ b/libcxx/docs/Status/FormatIssues.csv
@@ -1,31 +1,31 @@
Number,Name,Assignee,Patch,Status,First released version
`P0645 `_,"Text Formatting",Mark de Wever,,|partial|,
-`P1652 `_,"Printf corner cases in std::format",Mark de Wever,`D103433 `__,Review,
-`P1892 `_,"Extended locale-specific presentation specifiers for std::format",Mark de Wever,`D103368 `__,Review,
-`P1868 `_,"width: clarifying units of width and precision in std::format (Implements the unicode support.)",Mark de Wever,"`D103413 `__ `D103425 `__ `D103670 `__",Review,
-`P2216 `_,"std::format improvements",,,,
-`LWG-3242 `_,"std::format: missing rules for arg-id in width and precision",Mark de Wever,`D103368 `__,Review,
-`LWG-3243 `_,"std::format and negative zeroes",,,,
-`LWG-3246 `_,"What are the constraints on the template parameter of basic_format_arg?",,,,
-`LWG-3248 `_,"std::format #b, #B, #o, #x, and #X presentation types misformat negative numbers",Mark de Wever,`D103433 `__,Review,
-`LWG-3250 `_,"std::format: # (alternate form) for NaN and inf",,,,
+`P1652 `_,"Printf corner cases in std::format",Mark de Wever,`D103433 `__,|Review|,
+`P1892 `_,"Extended locale-specific presentation specifiers for std::format",Mark de Wever,`D103368 `__,|Review|,
+`P1868 `_,"width: clarifying units of width and precision in std::format (Implements the unicode support.)",Mark de Wever,"`D103413 `__ `D103425 `__ `D103670 `__",|Review|,
+`P2216 `_,"std::format improvements",,,|Not Started|,
+`LWG-3242 `_,"std::format: missing rules for arg-id in width and precision",Mark de Wever,`D103368 `__,|Review|,
+`LWG-3243 `_,"std::format and negative zeroes",,,|Not Started|,
+`LWG-3246 `_,"What are the constraints on the template parameter of basic_format_arg?",,,|Not Started|,
+`LWG-3248 `_,"std::format #b, #B, #o, #x, and #X presentation types misformat negative numbers",Mark de Wever,`D103433 `__,|Review|,
+`LWG-3250 `_,"std::format: # (alternate form) for NaN and inf",,,|Not Started|,
`LWG-3327 `_,"Format alignment specifiers vs. text direction",,,|Nothing To Do|,
-`LWG-3340 `_,"Formatting functions should throw on argument/format string mismatch in [format.functions]",,,,
-`LWG-3371 `_,"visit_format_arg and make_format_args are not hidden friends",Mark de Wever,`D103357 `__,Review,
-`LWG-3372 `_,"vformat_to should not try to deduce Out twice",,,,
-`LWG-3373 `_,"{to,from}_chars_result and format_to_n_result need the 'we really mean what we say'",,,,
-`LWG-3462 `_,"§[formatter.requirements]: Formatter requirements forbid use of fc.arg()",,,,
-`LWG-3539 `_,"format_to must not copy models of output_iterator",,,,
-`LWG-3540 `_,"§[format.arg] There should be no const in basic_format_arg(const T* p)",,,,
-`LWG-3541 `_,"indirectly_readable_traits should be SFINAE-friendly for all types",,,,
-`LWG-3542 `_,"basic_format_arg mishandles basic_string_view with custom traits",,,,
-`LWG-3544 `_,"format-arg-store::args is unintentionally not exposition-only",,,,
+`LWG-3340 `_,"Formatting functions should throw on argument/format string mismatch in [format.functions]",,,|Not Started|,
+`LWG-3371 `_,"visit_format_arg and make_format_args are not hidden friends",Mark de Wever,`D103357 `__,|Review|,
+`LWG-3372 `_,"vformat_to should not try to deduce Out twice",,,|Not Started|,
+`LWG-3373 `_,"{to,from}_chars_result and format_to_n_result need the 'we really mean what we say'",,,|Not Started|,
+`LWG-3462 `_,"§[formatter.requirements]: Formatter requirements forbid use of fc.arg()",,,|Not Started|,
+`LWG-3539 `_,"format_to must not copy models of output_iterator",,,|Not Started|,
+`LWG-3540 `_,"§[format.arg] There should be no const in basic_format_arg(const T* p)",,,|Not Started|,
+`LWG-3541 `_,"indirectly_readable_traits should be SFINAE-friendly for all types",,,|Not Started|,
+`LWG-3542 `_,"basic_format_arg mishandles basic_string_view with custom traits",,,|Not Started|,
+`LWG-3544 `_,"format-arg-store::args is unintentionally not exposition-only",,,|Not Started|,
-`P1361 `_,"Integration of chrono with text formatting",,,,
-`LWG-3218 `_,"Modifier for %d parse flag does not match POSIX and format specification",,,,
-`LWG-3230 `_,"Format specifier %y/%Y is missing locale alternative versions",,,,
-`LWG-3241 `_,"chrono-spec grammar ambiguity in [time.format]",,,,
-`LWG-3262 `_,"Formatting of negative durations is not specified",,,,
-`LWG-3270 `_,"Parsing and formatting %j with durations",,,,
-`LWG-3272 `_,"%I%p should parse/format duration since midnight",,,,
-`LWG-3332 `_,"Issue in [time.format]",,,,
+`P1361 `_,"Integration of chrono with text formatting",,,|Not Started|,
+`LWG-3218 `_,"Modifier for %d parse flag does not match POSIX and format specification",,,|Not Started|,
+`LWG-3230 `_,"Format specifier %y/%Y is missing locale alternative versions",,,|Not Started|,
+`LWG-3241 `_,"chrono-spec grammar ambiguity in [time.format]",,,|Not Started|,
+`LWG-3262 `_,"Formatting of negative durations is not specified",,,|Not Started|,
+`LWG-3270 `_,"Parsing and formatting %j with durations",,,|Not Started|,
+`LWG-3272 `_,"%I%p should parse/format duration since midnight",,,|Not Started|,
+`LWG-3332 `_,"Issue in [time.format]",,,|Not Started|,
diff --git a/libcxx/docs/Status/FormatPaper.csv b/libcxx/docs/Status/FormatPaper.csv
--- a/libcxx/docs/Status/FormatPaper.csv
+++ b/libcxx/docs/Status/FormatPaper.csv
@@ -1,48 +1,48 @@
Section,Description,Dependencies,Assignee,Patch,Status,First released version
-[charconv.to.chars],"Fix integral conformance",,Mark de Wever,`D100722 `__,|Complete|,Clang 13
-[charconv.to.chars],"Add floating-point conversion",`D100722 `__,"Mark de Wever (Code provided by Stephan T. Lavavej of Microsoft)",`D70631 `__,In progress,
-[format.error],"Class format_error",,Mark de Wever,`D92214 `__,|Complete|,Clang 13
-[format.parse.ctx],"Class template basic_format_parse_context",,Mark de Wever,`D93166 `__,|Complete|,Clang 13
-[format.context],"Class template basic_format_context",,Mark de Wever,`D103357 `__,Review,
-[format.args],"Class template basic_format_args",,Mark de Wever,`D103357 `__,Review,
-[format.arg],"Class template basic_format_arg",,Mark de Wever,`D103357 `__,Review,
-[format.arg],"Class template basic_format_arg - handle",,,,,,
-[format.arg],"Class template basic_format_arg - pointers",,,,,,
-[format.arg.store],"Class template format-arg-store",,Mark de Wever,`D103357 `__,Review,
-[format.formatter.spec],"Formatter specializations - character types",,Mark de Wever,"`D96664 `__ `D103466 `__",Review,
-[format.formatter.spec],"Formatter specializations - string types",,Mark de Wever,"`D96664 `__ `D103425 `__",Review,
-[format.formatter.spec],"Formatter specializations - boolean type",,Mark de Wever,"`D96664 `__ `D103670 `__",Review,
-[format.formatter.spec],"Formatter specializations - integral types",,Mark de Wever,"`D96664 `__ `D103433 `__",Review,
-[format.formatter.spec],"Formatter specializations - floating-point types",`D70631 `__,Mark de Wever,`D96664 `__,Review,
-[format.formatter.spec],"Formatter specializations - pointer types",,,,,,
-[format.string.std],"Standard format specifiers - character types",,Mark de Wever,`D103368 `__,Review,
-[format.string.std],"Standard format specifiers - string types",`D103379 `__,Mark de Wever,"`D103368 `__ `D103413 `__",Review,
-[format.string.std],"Standard format specifiers - boolean type",`D103379 `__,Mark de Wever,"`D103368 `__ `D103413 `__",Review,
-[format.string.std],"Standard format specifiers - integral types",,Mark de Wever,`D103368 `__,Review,
-[format.string.std],"Standard format specifiers - floating-point types",,Mark de Wever,,,,
-[format.string.std],"Standard format specifiers - pointer types",,Mark de Wever,,,,
-[format.functions],"Format functions - format(string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format(wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format(const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format(const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - vformat(string_view fmt, format_args args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - vformat(wstring_view fmt, wformat_args args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - vformat(const locale& loc, string_view fmt, format_args args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - vformat(const locale& loc, wstring_view fmt, wformat_args args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format_to(Out out, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format_to(Out out, const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - vformat_to(Out out, string_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - vformat_to(Out out, wstring_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - vformat_to(Out out, const locale& loc, string_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - vformat_to(Out out, const locale& loc, wstring_view fmt,format_args_t, wchar_t> args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format_to_n(Out out, iter_difference_t n, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format_to_n(Out out, iter_difference_t n, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format_to_n_result format_to_n(Out out, iter_difference_t n, const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - format_to_n_result format_to_n(Out out, iter_difference_t n, const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - formatted_size(string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - formatted_size(wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - formatted_size(const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - formatted_size(const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review,
-[format.functions],"Format functions - Implement locale support",,Mark de Wever,,In progress,,
-[format.functions],"Format functions - Improve performance format_to_n",,Mark de Wever,,,,
-[format.functions],"Format functions - Improve performance formatted size",,Mark de Wever,,,,
+`[charconv.to.chars] `_,"Fix integral conformance",,Mark de Wever,`D100722 `__,|Complete|,Clang 13
+`[charconv.to.chars] `_,"Add floating-point conversion",`D100722 `__,"Mark de Wever (Code provided by Stephan T. Lavavej of Microsoft)",`D70631 `__,|In Progress|,
+`[format.error] `_,"Class format_error",,Mark de Wever,`D92214 `__,|Complete|,Clang 13
+`[format.parse.ctx] `_,"Class template basic_format_parse_context",,Mark de Wever,`D93166 `__,|Complete|,Clang 13
+`[format.context] `_,"Class template basic_format_context",,Mark de Wever,`D103357 `__,|Review|,
+`[format.args] `_,"Class template basic_format_args",,Mark de Wever,`D103357 `__,|Review|,
+`[format.arg] `_,"Class template basic_format_arg",,Mark de Wever,`D103357 `__,|Review|,
+`[format.arg] `_,"Class template basic_format_arg - handle",,Unassigned,,|Not Started|,
+`[format.arg] `_,"Class template basic_format_arg - pointers",,Unassigned,,|Not Started|,
+`[format.arg.store] `_,"Class template format-arg-store",,Mark de Wever,`D103357 `__,|Review|,
+`[format.formatter.spec] `_,"Formatter specializations - character types",,Mark de Wever,"`D96664 `__ `D103466 `__",|Review|,
+`[format.formatter.spec] `_,"Formatter specializations - string types",,Mark de Wever,"`D96664 `__ `D103425 `__",|Review|,
+`[format.formatter.spec] `_,"Formatter specializations - boolean type",,Mark de Wever,"`D96664 `__ `D103670 `__",|Review|,
+`[format.formatter.spec] `_,"Formatter specializations - integral types",,Mark de Wever,"`D96664 `__ `D103433 `__",|Review|,
+`[format.formatter.spec] `_,"Formatter specializations - floating-point types",`D70631 `__,Mark de Wever,`D96664 `__,|Review|,
+`[format.formatter.spec] `_,"Formatter specializations - pointer types",,Unassigned,,|Not Started|,
+`[format.string.std] `_,"Standard format specifiers - character types",,Mark de Wever,`D103368 `__,|Review|,
+`[format.string.std] `_,"Standard format specifiers - string types",`D103379 `__,Mark de Wever,"`D103368 `__ `D103413 `__",|Review|,
+`[format.string.std] `_,"Standard format specifiers - boolean type",`D103379 `__,Mark de Wever,"`D103368 `__ `D103413 `__",|Review|,
+`[format.string.std] `_,"Standard format specifiers - integral types",,Mark de Wever,`D103368 `__,|Review|,
+`[format.string.std] `_,"Standard format specifiers - floating-point types",,Mark de Wever,,|Not Started|,
+`[format.string.std] `_,"Standard format specifiers - pointer types",,Mark de Wever,,|Not Started|,
+`[format.functions] `_,"Format functions - format(string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format(wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format(const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format(const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - vformat(string_view fmt, format_args args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - vformat(wstring_view fmt, wformat_args args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - vformat(const locale& loc, string_view fmt, format_args args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - vformat(const locale& loc, wstring_view fmt, wformat_args args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format_to(Out out, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format_to(Out out, const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - vformat_to(Out out, string_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - vformat_to(Out out, wstring_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - vformat_to(Out out, const locale& loc, string_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - vformat_to(Out out, const locale& loc, wstring_view fmt,format_args_t, wchar_t> args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format_to_n(Out out, iter_difference_t n, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format_to_n(Out out, iter_difference_t n, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format_to_n_result format_to_n(Out out, iter_difference_t n, const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - format_to_n_result format_to_n(Out out, iter_difference_t n, const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - formatted_size(string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - formatted_size(wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - formatted_size(const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - formatted_size(const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,|Review|,
+`[format.functions] `_,"Format functions - Implement locale support",,Mark de Wever,,|In Progress|,
+`[format.functions] `_,"Format functions - Improve performance format_to_n",,Mark de Wever,,|Not Started|,
+`[format.functions] `_,"Format functions - Improve performance formatted size",,Mark de Wever,,|Not Started|,
diff --git a/libcxx/docs/Status/SpaceshipProjects.csv b/libcxx/docs/Status/SpaceshipProjects.csv
--- a/libcxx/docs/Status/SpaceshipProjects.csv
+++ b/libcxx/docs/Status/SpaceshipProjects.csv
@@ -1,64 +1,64 @@
Section,Description,Dependencies,Assignee,Complete
-[cmp.concept],"| `three_way_comparable `_
-| `three_way_comparable_with `_",None,Ruslan Arutyunyan,In progress
-[cmp.result],| `compare_three_way_result `_,None,Arthur O'Dwyer,In progress
-[expos.only.func],"| `synth-three-way `_
-| `synth-three-way-result `_",[cmp.concept],Kent Ross,In progress
-[comparisons.three.way],| `compare_three_way `_,[cmp.concept],Christopher Di Bella,In progress
-[cmp.alg],"| `strong_order `_
+| `[cmp.concept] `_,"| `three_way_comparable `_
+| `three_way_comparable_with `_",None,Ruslan Arutyunyan,|In Progress|
+| `[cmp.result] `_,| `compare_three_way_result `_,None,Arthur O'Dwyer,|Complete|
+| `[expos.only.func] `_,"| `synth-three-way `_
+| `synth-three-way-result `_",[cmp.concept],Kent Ross,|In Progress|
+| `[comparisons.three.way]