Re: [core] [art] Artart last call review of draft-ietf-core-problem-details-05

"Martin J. Dürst" <duerst@it.aoyama.ac.jp> Tue, 28 June 2022 07:22 UTC

Return-Path: <duerst@it.aoyama.ac.jp>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 48BBAC15A729; Tue, 28 Jun 2022 00:22:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.786
X-Spam-Level:
X-Spam-Status: No, score=-3.786 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, NICE_REPLY_A=-1.876, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=itaoyama.onmicrosoft.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sZmfpWZ_xPqB; Tue, 28 Jun 2022 00:22:06 -0700 (PDT)
Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01on2102.outbound.protection.outlook.com [40.107.114.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A999FC15A753; Tue, 28 Jun 2022 00:22:04 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jBU9WReOHNtWvdQWtYrfQHTc46R1dqb8Wsi8uS1KUTKSbcAkCN9TT0GBS+7Ltsu9bdCNMb6CIFMygt1nzSs5xo2TwMdurBJ8tDeVzmIot1vUz7OeYOlUj/x5NsMbJlqP5MI7k/P+kcigSEnbEynKx8QFKwnnrH29toia9YLO/gCjRbDNSunia86Vk4KJ/iNmLj8M8047ars8iULkC7HY8bKymXlgoPEw4uSf+Zt+J3RBbg4iw3yreLy3aCUisUYZtN/XLkLicfP9yhUwE2CtQ0XJGbbtLR1C8+98lt7HwUJ8cLBEFeGYG+KLdHO+dCDBG2gdycbXUiklw6Ic5vq2Kw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=626PSaUTc6CWzbq+BijwNMNIv9OKamRmgmVb62gZtGM=; b=bbACGJYE0y2fNEKUnFL/Tnc5Gtvy2/nAl3g5a5x9JIrxEh1HcJckfOSMTRpKd72Q7M6OFGmOjHOUKY+2kcCNuT+GAf068W2mMMGcgbeEwTxkNFJlQKe0d9BhWKROShPmkEnZKB9X0vHUFBHW7eZbGbASoQlhpBsrUbu6tOgYmo6i419B/JLbua1Qu/kf+xa+S8l1qj7WpZ2afMA88tOjCtNLXadPbWMRd2Cc+rmcjD3uyRmhGBhfPN13qltHkQDadNwqTOBEPt1uoMKlS8NSLqffdmSfTXUOAFVnPtHPEu5N7NVaB2QgoEMrYeH9zEGWKg0hve9Rs05hhjtD5nXsTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=it.aoyama.ac.jp; dmarc=pass action=none header.from=it.aoyama.ac.jp; dkim=pass header.d=it.aoyama.ac.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=itaoyama.onmicrosoft.com; s=selector2-itaoyama-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=626PSaUTc6CWzbq+BijwNMNIv9OKamRmgmVb62gZtGM=; b=FhAai4gJsWP/zd3hda0yMNQcHKu7jkGsW7NAgAhfpVh+lKANzZNy+ZEtqwUMUi/PLjzVJxyoNfahbbXgR+xPMb4fc0n0B+Sa/khEVB7CqH1DE2FBy9XEcbC3Dye+7GkvQ0lGEBwCu9P1qs2LJiRGxWmmvjxrlST7ho1f1ZijbxY=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=it.aoyama.ac.jp;
Received: from TYAPR01MB5689.jpnprd01.prod.outlook.com (2603:1096:404:8053::7) by OSBPR01MB5190.jpnprd01.prod.outlook.com (2603:1096:604:7a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Tue, 28 Jun 2022 07:22:00 +0000
Received: from TYAPR01MB5689.jpnprd01.prod.outlook.com ([fe80::e587:9d9a:d780:ef39]) by TYAPR01MB5689.jpnprd01.prod.outlook.com ([fe80::e587:9d9a:d780:ef39%8]) with mapi id 15.20.5373.018; Tue, 28 Jun 2022 07:22:00 +0000
Message-ID: <ff5f8ff1-67fc-eead-6b38-62c8d64ebf45@it.aoyama.ac.jp>
Date: Tue, 28 Jun 2022 16:21:56 +0900
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0
Content-Language: en-US
To: Carsten Bormann <cabo@tzi.org>
Cc: Harald Alvestrand <harald@alvestrand.no>, Applications and Real-Time Area Discussion <art@ietf.org>, Core WG mailing list <core@ietf.org>, draft-ietf-core-problem-details.all@ietf.org, last-call@ietf.org
References: <165511479760.19573.12671700576299137749@ietfa.amsl.com> <63D13796-758D-469B-AFA8-3050C9F87819@tzi.org> <dde9d36c-61e5-afcc-e15a-787c99d5fba9@it.aoyama.ac.jp> <0012F049-354A-4450-B923-857D24AB9459@tzi.org> <90b785ef-934b-da9d-7d89-7018bdebbb75@it.aoyama.ac.jp> <B96E980A-72E3-4678-B214-8464958845BB@tzi.org>
From: "Martin J. Dürst" <duerst@it.aoyama.ac.jp>
Organization: Aoyama Gakuin University
In-Reply-To: <B96E980A-72E3-4678-B214-8464958845BB@tzi.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: TYCPR01CA0041.jpnprd01.prod.outlook.com (2603:1096:405:1::29) To TYAPR01MB5689.jpnprd01.prod.outlook.com (2603:1096:404:8053::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cc6d81b0-d653-4900-4d63-08da58d6e444
X-MS-TrafficTypeDiagnostic: OSBPR01MB5190:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: sQtbO53omxOe3FbMQRvM25N069PWagf9Ub20ya/qMsG7H/KD2ltjh7WGu1E7rmOwEvkA+Ms/EOUrjlqlNXNzd+ZvcRZAtoWTeUvqIRlV8U9hr3k9uGYs0U4JnaJerLv1gRP6p0RVS3+qqH2iRNvHPTnMpTadnpzUbGUWtH5lElEtpQAw0Bn/2rGg8Zoci9FQOC5oBqenUgJdOZzHcnzrZjjNus30BC+UT5VSIBZt5CBKCOUv4rAcoNhSMN9mTj+KlnZPtrzVgaGaBc8BYdglc02foyVHORH9e5XqMG6+ulsHL10pOsI0c/D0ugpano8L7khI+npOV53VQCpLZnMShR1nhvPiV02za0mu5UFSrVPLLWAWcAfjfU3qf8d6EOtIJ6XC2V8ind3nV2BN8vg2ziJfKY6wdlvcjYFdlWYR2ZC7A2ccmAXe+pBGPdrabVN+WurGzk17WvvJgipkDg0L/i1odejlJKM6/6/MGB2hpwLZiOnb1IDjQKZ9CMp/LT+6XwiTX+7wbxsvQ7+XF8/Lc8aqMz7XpO4MDBLiKrLPZLWoi/ch8l/7lqUNND5szrJ+uFccr9K8o+ErSKhHkhP6YpHsUX2RC8qDTmb6Lwa8SC67leGBS61qaN2m18P9ml35MnkNJWkKqT15i3OFDxz7vDTSQ2wlmtJBbySEH3VDJGVzGC4jl+NI6xwYEQ/CYMCEESKyDZkt6RWeYHZ3GI8fZSYWJ35gB+GROvKsDT+pLKXURTmtgS7BAVbw+YVeTlLl6OJEeupDpEahvv/0dntFQB5NORAQql/GKhnCB0hsZYC7EHSG2qwho9KCi7VSc0lBv5HBnqmXXmSfYortMVCn/CT8u0I5k7zIb6EyWu9fzH5YD2GPXfBAsnKmgRWJ+wWT
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYAPR01MB5689.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(346002)(366004)(396003)(376002)(136003)(39850400004)(38100700002)(2616005)(6916009)(41300700001)(53546011)(38350700002)(30864003)(6512007)(31696002)(26005)(83380400001)(6666004)(86362001)(5660300002)(4326008)(54906003)(36916002)(478600001)(186003)(8676002)(8936002)(6506007)(6486002)(66476007)(66556008)(52116002)(31686004)(966005)(66946007)(2906002)(786003)(41320700001)(316002)(45980500001)(43740500002); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: ij5WHarQCiuW9mn0wtx/ywfxwcAz9QqOrtP4PsEKLdsoRk386orft0K9vUFeUPc9J0v9Avsdz6r4yaUyXJh2xdUvm7F0wVTZovUNDZB+c643EUPW+LTn8bOjsIXyjy9V1hgp7rQwO1isKFmHVuEIQDEt73Dd49kSIoFcU9o6qHbIKWBwto+BGXf4qFKhHST7/ZI5Of2kdaKtSKhZfmWHw99OMIp50kZmuVKyELkMnJFBCaTxqc+gk17NPiSj7Ky0T8jlFLi1PJNiuuLCSzuvya8+n7FeLwi1lqsKZofUSjNa0WZ8fUbpc1qer68TQX29pfaP/GUl8R7IvUJT6EhiBVmKExm4hmr4WOoBLujYDiI/u009Re7omtWIDytd3sTywIsHcyUz3j2yoo1aYDtKGY7WaMQormHmGoXdEgbaUUiUwOT9nKnCqyr9cP55vtzYEhuQJOIaGmB+twtomugersnf6RhzkJWdwNwDgS0/6g4b32EfRl6Y7p4g/uUAlYYhQiD7nT7n6kmwEp0SzQ+A13vKn/4o4pQktg3jzQxYyX2ABC4mrScaTMmXJ5qGCLeAZ5rGcYY7Ic7VmCpyLatyGS77iO8kIruzYGyN8HIwm4r4j34rFnL5/E8dVmwpL8APrSVpjyWNEO99qEOxjdxafSrs0C8YWcMGQCXvIvICv0Vg57Umchp0BIvz4CASDUvwOLanaHne3fGSMz2ga43RAftG9h9zqxeR8/4W3DIBexOJCZxP4LRK5P+uHA0sveJzo8F8M0z6MjnHxs49CqQQDt178bMmD/wAOf5wS+wjb60rlo6YDFLDeBjN1YWX0TqDccqGG8Ywb4gZdZHtHbLIjKLpXl0sL6iBB1Egp2wM90OjzItYylWu2hweSlz95LXt67GwQmI2UiY6cJKXXiVtEqGwmPOQBQgf+4Q7xANKATcuwMZ2dCLEeOuPBjHyOkpJYB7xXKjcU/Knx3O8JyFRO2pdvAjAS4RquOn0MLw8fqNG4vtXiY9OtLM9MLoUO3U5fat69Tt8KRGGHBAb7QlhMrYVdmV96DDEn1fcIaYk19DJSuQ9cUcrzWj2qPQTFQY6zt02oo5jznlfq/xInFVsZ2EVqgQSK2zwuqXfOHR5kju6LBTA+isZM3+t74b9LGQtff9D97iRdeRQYslC0LbiYdnK8w+HI8R/OghDBE7weSmkLBcdRSsYkmFW/cOEl7CPVxBttCRHIPyLsWjI30vs7466bhAZTk7cdTgv3zvRd8TemBDlU9gRPtMLj1EX1+k+/r6GoqQ/irbfDE4rwOUIsI27hHjHliUu8AgPi2RKe9Kov5sf7oL7WmqBGb6tKUYXUc8DLLX7sXR9GV9aQOcn8UBnR/R8P8Q3q3PrgopsGcPdSuvllTc19shu1yrr9Egq76o6WDXWNfm4Cfsojlnu2Xr0vZZQWP3XHSaqoXtql9JSYy2UeDmsyVo5PuneqheiapAda910nxTqTZd3nqQxmFEPRNoNpXS3AA+YSOFExekiXZ60Ih0V37KGZ15NbqFqeHpTVyTcxpreCkKk/XhHM6lINiIvYY+OAHNGLYDZFydS6xjZdJ3U2SIK1of7fXp1
X-OriginatorOrg: it.aoyama.ac.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: cc6d81b0-d653-4900-4d63-08da58d6e444
X-MS-Exchange-CrossTenant-AuthSource: TYAPR01MB5689.jpnprd01.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2022 07:22:00.3679 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: e02030e7-4d45-463e-a968-0290e738c18e
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6OmsRCLPhk3ZZzw9o9q7c1QIEJOs4BlqcupKtTuvRFX8OST76BFCsgBmGaNZbf75+ysLgVyGEbjFq2ZWnX73Xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSBPR01MB5190
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/XQdjxQKpFgphpcWEHb5FkFHPqDM>
Subject: Re: [core] [art] Artart last call review of draft-ietf-core-problem-details-05
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Jun 2022 07:22:10 -0000

Hello Carsten, others,

On 2022-06-27 17:56, Carsten Bormann wrote:
> Hi Martin,
> 
> thank you for the additional input.
> I’ll focus on the discussion that led us to proposing another set of clarifications:
> 
> https://github.com/core-wg/core-problem-details/pull/41

This also looks mostly okay.

By chance, I just noticed that you have
keyword: CoAP, API, Problem Details
Would it be possible to add any keywords related to language tagging 
and/or bidi?

More comments below.

>> […]

>> [snip]
>>>> Directionality Information
>>>> ==========================
>>
>> is also a technical term in the Bidi Algorithm]
>>>>
>>>> I think this text is very important, so I'll got into some details. First (minor nit), it says "If the third element is absent ...". Because this is in a paragraph that starts with "The optional third element ...", I think it would better say "If this element is absent ...".
>>> Replaced by (a form of) your text…
>>
>> Great progress, but I think we need a bit more progress, or at least some more careful checking.
>>
>>
>>> ➔
>>> https://github.com/core-wg/core-problem-details/pull/40/commits/bd588b9 <https://github.com/core-wg/core-problem-details/pull/40/commits/bd588b9>
>>>>
>>>> Next, let me make sure that I get this right: This is a Boolean value, but it can in effect have four different states, yes? That would be:
>>>> - True (rtl)
>>>> - False (ltr)
>>>> - null (no indication about direction, but overriding any context)
>>>> - absent (no indication about direction, but context may apply)
>>>> If that's true, then it might be good to put that into a more structured from (something like the above list).
>>> Thanks, see below. (A value that is absent is not a value; its representation by a null value may be needed to ~~override~~ reset any context available.)
>>
>> In one of the patches, you collapsed my four-point list to three points.
> 
> This is really a ternary setting, with `ltr` (represented by false), `rtl` (by true), and `auto` (by null).
> The fourth case is that the setting is not given, i.e., absent.
> The default value for that case is taken from the context (not specified where that would come from) that overrides (sorry) this default.
> If there is no context, the default default is `auto`.

This explanation helps in that it confirms that overall, there are three 
different values and one case of no value, resulting in four different 
choices. So we are in agreement about the 'facts'. (originally, it 
wasn't clear to me whether null and absent were two different choices, 
or one and the same).

What we don't yet agree is how this is presented. You want to present it 
as three values and one separate case/choice of an absent value.

Thinking from the perspective of a user, I'd strongly prefer it if all 
four choices were listed in one single list (or table, or whatever). 
That way, it's immediately clear what the choices are, each with its 
meaning. For a user, the exact way of how a choice gets expressed (by a 
value, or by the absence of a value) is in my view secondary, and 
shouldn't be made the top-level branching point for the presentation of 
these four choices.


>> I'm still not sure I really get this thing with absent and null. Let's say we have the following two problem details (very sketchy, obviously not the right syntax):
>>
>> First variant
>> -------------
>> - problem-details
>>   - title
>>     - lang: de
>>     - text: Das ist ein Titel
>>     [dir absent]
>>   - base-rtl: true
>>
>> Second variant
>> --------------
>> - problem-details
>> - title
>>    - lang: de
>>    - text: Das ist ein Titel
>>    - dir: null
>> - base-rtl: true
>>
>> Here are my questions: Is there a difference between the first and the second variant?
> 
> Base-rtl and base-lang are specified to apply to unadorned (non-tag-38) strings.
> It is not defined in the current text whether an implementation would apply base-rtl to tag-38 strings with absent directionality.

I think it's bad practice to leave things like this open. The only 
result it can produce is confusion, and nobody benefits from that. Why 
not just say that base-rtl and base-lang apply if language or direction 
are missing on a tag-38?

>> Saying "its representation by a null value may be needed to reset any context available." seems to suggest that there is a difference; inheritance ("Das ist ein Titel" being RTL) when absent, and no inheritance ("Das ist ein Titel" being of undefined directionality) when null. If that's true, why did you reduce the four choices to three? If it's not true, why not?
> 
> Because there is only three values, and there is one way (absent) to obtain a default from that set of three in the absence of context indicating one of those three values.

Three values, four ways/choices/cases, again.

>>>> [very major point] The main problem is with the last sentence. There's not much of a point in defining a field for directionality if it's not clear what that is supposed to be used for. I'm also not sure where the claim "the proper processing of Language and Direction Metadata is an active area of investigation" came from, and why it is here.
>>> I believe this statement is rather important, as it does spell out the requirement to stay abreast with the developments in this space. The tag 38 information provides an input to the algorithm that we just need to assume will survive revisions to that algorithm; but the algorithm may be revised.
>>
>> Do you mean the Unicode Bidirectional Algorithm? It indeed gets reissued with every new Unicode version, which means roughly once every year. That's just how the Unicode consortium works, something between "living standard" and RFCs that are stable as long as nobody has the time to write an update.
> 
> Good point; I copied the annotation for Unicode-14.0.0 to Unicode-14.0.0-bidi.

Okay.

>> But if you look at the substance (going back from
>> https://www.unicode.org/reports/tr9/tr9-45.html version by version by changing '45' to lower and lower values), you'll see that there is exactly one major change, at Unicode Version 6.3 in 2013 (https://www.unicode.org/reports/tr9/tr9-29.html), where isolates (LRI and RLI) where introduced. And that change was years in the making, with several talks at Internationalization and Unicode Conferences about the problems posed by embeddings (LRE and RLE). There's no such change in site that I'm aware of currently.
>>
>> So the sentence "Note that the proper processing of Language and Direction Metadata is an active area of investigation; the reader is advised to consult ongoing standardization activities such as [STRING-META] when processing the information represented in this tag."
>> will produce one of two effects, both highly undesired:
>> 1) An implementer who seriously wants to do the right thing will get lost in the woods.
>> 2) An implementer inclined to cut corners will just ignore the whole directionality stuff.
>>
>> Of course, the right thing for an implementer who just wants to make sure the text pieces get displayed so that they are easy for a user to read is
>> 3) to just rely on a bidi library (usually just by sending the right pieces of text and bidi control characters or markup or whatsoever to the display engine in the underlying OS or so).
>>
>> We should make sure that the text of the RFC to be encourages 3), not 1) or 2).
> 
> To me, (3) is really “follow the flow”, which is just a short way of saying “the reader is advised to consult ongoing standardization activities”.

There are no ongoing standardization activities on the bidi algorithm. 
If you say that a string of text is in RTL (or LTR) isolation, or in 
first strong isolation, what that means is defined by Unicode Standard 
Annex #9, which doesn't "flow" at all.


> But I understand that one wouldn’t want to expose the reader to all that complexity if they can avail themselves is a library that encapsulates and hides that complexity.
> So the PR makes it clearer that it is up to such a library to decide the details semantics of “auto”.
> 
> (In constrained devices, there often won’t be such a library.)

First, reference code is available (at 
https://www.unicode.org/Public/PROGRAMS/BidiReferenceC/14.0.0/), but 
that code is written for clarity, not for space or speed.

If there is no library or equivalent, the solution may be to go read TR 
#9, and figure out some ways to cut corners (as an example, an 
implementation may decide that a "fixed-size stack for exactly 63 
elements" (see http://unicode.org/reports/tr9/#Paired_Brackets) uses too 
much memory, and use a smaller stack).

But what's much more important here is that the solution is NOT to go 
read STRING-META, because STRING-META won't help. STRING-META shows 
different ways of how one could indicate directionality in different 
cases. You already made your choice, so STRING-META is no longer 
relevant. What counts is the Unicode Bidirectional Algorithm.

> We left in a weaker reference (Readers interested in further details […] may want to consult […]) to STRING-META as that is still useful background material for further reading.

This is still misleading, because readers of your document don't have 
much of a reason to read that document. The main reason may be to answer 
questions such as "why do we need such a directionality indicator", but 
if that's the case, your text should be more specific.

>> […]
>>
>>> Hence the informative reference.
>>>> […]
>>>> I'm not really sure yet about the 'absent' and 'null' entries, neither if they are really distinct nor whether the specification is good enough (we might want to specify FIRST STRONG ISOLATE semantics).
>>> We could, but I’m not sure that part of “auto” semantics is as stable as the rest.
>>
>> In TR #9, the auto semantics is as stable as the others. FSI (first strong isolate) was introduced in Unicode 6.3 together with the other isolates. And the "first strong" rule was already present from the start of the Bidi Algorithm and continues to be there until today for the overall paragraph direction (see https://www.unicode.org/reports/tr9/#P2). That also means that you get exactly these semantics if you just put every Tag 38 text on its own line (paragraph) e.g. in Win notepad. That also means that the average user of an RTL script is familiar with this behavior and what to do if it doesn't do the right thing.
> 
> FSI is now explicitly mentioned as a choice that an internationalization library could take.

This is progress. But the text currently says (copied directly from github):
- `null` indicates that that no indication is made about the direction
   ("auto"), enabling an internationalization library to make a
   decision such as treating the string as if enclosed in FSI ... PDI
   or equivalent, see {{-bidi}}.
This is still too vague. What about
- `null`: Indicates auto-detection of direction.
   The text is expected to be displayed with the base direction
   determined by the directionality of the first strong character
   if standalone, and isolated with first strong detection
   (as if enclosed in FSI ... PDI or equivalent, see {{-bidi}})
   in the context of a longer string or text.

Regards,   Martin.

> I hope we can move forward with this latest PR.
> 
> Grüße, Carsten
> .